C++ 需要注意的知识点
2. #include <> 和 “ ” 的区别
3. 无符号和有符号都有1、2、4字节的结构,什么时候用无符号数?什么时候用有符号数?
4. #pragma pack(push,packing) #pragma pack(pop,packing)
#pragma pack(1)
#include <winsock2.h> #pragma comment(lib,"ws2_32")
5. typedef 和 #define 的区别
6. 不同文件里包含同一命名空间
8. memset 和 malloc 使用区别?
9. malloc free 和 new delete 的区别?
new 与 malloc 的区别在于,new在分配完内存之后会调用构造函数。
10. 深拷贝和浅拷贝的区别?
浅拷贝:简单地赋值
深拷贝:在堆区重新开辟内存进行拷贝
什么时候用深拷贝?拷贝指针的时候,B浅拷贝A,如果A被释放了,那么再调用B就会崩溃。需要深拷贝重新给B申请一块内存。
11. const 加载函数前后的区别?
12. 指针的引用是什么?有什么用?
13. 用char数组千万记得加结束符'\0',否则会乱码。
14. 容易造成内存溢出的函数:
- strcpy:会将字符串复制到缓冲区,建议使用strncpy()
- strcat:会将字符串合并到缓冲区末尾,建议使用strncat()
- sprintf():跟strcpy一样
- scanf()系列