面试
素默
这个作者很懒,什么都没留下…
展开
-
2021-10-19
Move 和forward在C++中?std::move的作用是将一个左值引用转为右值引用,以便调用移动语义的函数。std::move和std::forward实际上是对static_cast的封装,由编译器在编译阶段完成对应的行为,不会增加运行时的负载。明std::move和std::forward本质就是一个转换函数,std::move执行到右值的无条件转换,std::forward执行到右值的有条件转换2. 模板中class和template的区别?3. 多线程的线程安全问题。原创 2021-10-19 15:53:05 · 99 阅读 · 0 评论 -
2021-09-18C++面试
votatile的作用:多线程编程中,这个变量是会经常被改变的。寄存器,从内存中去读取。寄存器与内存:大钱世界呀,只有谁比谁更水。数组名并不是真正意义上的指针。野指针:初始化指向NULL,指针大小是固定的吗?内存地址的长度是固定的。同时我们不难看出,一个指针的值就是一个32位的二进制数,32位对应4字节(Byte)。 所以,指针的大小实际上是由CPU的寻址位数决定。指针类型的大小是固定的(无论该指针指向哪种数据类型),在32位系统中为4字节;在64位系统中为8字节。什么时候必须重写拷贝构造函原创 2021-09-19 11:39:44 · 63 阅读 · 0 评论 -
粘包9-10
粘包这个问题的根因是由于开发人员没有正确理解 TCP 面向字节流的数据传输方式,本身并不是 TCP 的问题,是开发者的问题。TCP 不管发送端要发什么,都基于字节流把数据发到接收端。这个字节流里可能包含上一次想要发的数据的部分信息。接收端根据需要在消息里加上识别消息边界的信息。不加就可能出现粘包问题。TCP 粘包跟Nagle算法有关系,但关闭 Nagle 算法并不解决粘包问题。UDP 是基于数据报的传输协议,不会有粘包问题。IP 层也切片,但是因为不关心消息里有啥,因此有不会有粘包问题。TCP 发原创 2021-09-10 19:47:38 · 72 阅读 · 0 评论 -
2021-09-08声网面试三叉树是否对称
struct Node{ int val; Node* left; Node* right; Node* mid;}bool isSymmetric(Node* tree){ if(tree == NULL) return true; return isSame(tree->left, tree->right) && isSymmetric(tree->mid);}bool isSame(No...原创 2021-09-08 16:11:30 · 200 阅读 · 0 评论