笔试面试相关记录(3)

(1)String + String和String.append()的底层实现

C++中string append函数的使用与字符串拼接「建议收藏」-腾讯云开发者社区-腾讯云 (tencent.com)

 String + String 在 第二个String中遇到\0就截止,append()的方法则是所有字符都会加在后面。

(2)Linux 下的exec命令

每天学一个 Linux 命令(93):exec - 知乎 (zhihu.com)

【Linux】Linux进程的创建与管理_linux创建独立进程_Yngz_Miao的博客-CSDN博客 

(3)多线程通信、多进程通信

(4)零拷贝

【linux】图文并茂|彻底搞懂零拷贝(Zero-Copy)技术 - 知乎 (zhihu.com)

(5)进程孵化器?

(6)memcopy和memmove区别

memmove和memcpy区别_memcpy memmove区别_Simple Simple的博客-CSDN博客 

memcopy可能会出现地址重叠时,拷贝结果被覆盖,memmove则不会出现这种情况。 

(7)

class A {
public:
    A(){cout << "A";}
};

class B {
public:
    B(){cout << "B";}
};

class C:public A {
public:
    B b;
    C(){cout << "C";}
};

int main() { 
    C obj;
    return 0;
}

输出ABC

(8)const char* ptr; const char *ptr,char const *ptr,char *const ptr的差别 - 知乎 (zhihu.com)

(9)

如果终端输入为I Love you xxxx
char str[10];
cin >> str;
cout << str;
则输出 I 

(10)

int nums[5] = {1,2,3,4,5};
cout << *((int*)(&nums+1)-1);
输出5

(11)C++面试题:STL中的sort排序是稳定排序吗?_stl里面的sort是稳定的吗_algsup的博客-CSDN博客

 (12)

class A {
public:
    virtual ~A(){}
    static void fun1();
    // static int a;
private:
    // int i;
    // char b;
};
int main() { 
    cout << sizeof(A);
    return 0;
}
64系统位输出8   (虚函数指针的大小)


class A {
public:
    virtual ~A(){}
    static void fun1();
    static int a;
private:
    // int i;
    // char b;
};
int main() { 
    cout << sizeof(A);
    return 0;
}
64位系统输出8   
class A {
public:
    virtual ~A(){}
    static void fun1();
    static int a;
private:
    // int i;
    // char b;
    static int d;
};
int main() { 
    cout << sizeof(A);
    return 0;
}
64位系统输出8 (说明静态成员变量不占用类的大小)


class A {
public:
    virtual ~A(){}
    static void fun1();
    // static int a;
private:
    int i;
    // char b;
    // static int d;
};
int main() { 
    cout << sizeof(A);
    return 0;
}
64位系统输出16   跟内存对齐有关系


class A {
public:
    virtual ~A(){}
    static void fun1();
    // static int a;
private:
    // int i;
    char b;
    // static int d;
};
int main() { 
    cout << sizeof(A);
    return 0;
}
64位系统输出16   跟内存对齐有关系

class A {
public:
    virtual ~A(){}
    static void fun1();
    // static int a;
private:
    int i;
    char b;
    // static int d;
};
int main() { 
    cout << sizeof(A);
    return 0;
}
64位系统输出16  虚函数指针占用8字节,int 占用4字节,char 占用int后面的4字节中的第一个字节,对齐之后整体占用4字节

(13)什么类型是trivial type?什么类型是standard layout类型?有什么优点?

C++:Trivial、Standard-Layout 和 POD - 知乎 (zhihu.com) 

 2. C++基础:Trivial/Standard layout/POD - 知乎 (zhihu.com)

你可能感兴趣的:(开发语言)