- delete与new的理解:
访问 delete 之后的内存是一个未定义行为。 未定义行为可能产生任何结果,包括但不限于:产生期望的结果,产生未期望的结果,产生随机的结果,产生无法解释的结果,运行错误,随机的运行时错误,编译错误,等等,你只是放弃了对这片内存的所有权。获得所有权的人对这片内存做什么(或者说什么都不做)都不关你的事。
eg:你租了套房子,住了一段时间,到期归还房东后。你仍然可以用事先配好的钥匙悄悄打开房门住进去,刚开始没有新房客住进来,你觉得一切都很顺利,但随时都可能Boom!!!所以,为了避免侥幸心理,要么把你配的钥匙销毁掉,以打消这种念头,要么当初就不该自己去配第二把钥匙,只需把原钥匙交还房东即可。
- =default/=delete
如果程序代码里面没有写默认构造函数、复制构造函数、复制赋值函数和析构函数,则编译器会自动添加这些函数。当程序里面写了构造函数的时候,编译器就不会自动添加默认构造函数了。
可以用default来指定使用默认的构造函数,而且可以通过delete来显式地禁止一些方法,如复制构造函数和复制赋值操作
表示这是一个不接受任何参数的
C++tips:
C++的冒号
仿函数
std::bind总结
operate()
union联合
#pragma once 和#ifndef的区别
typedef和typename的作用
lambda表达式
互斥锁
std:allocate
std::thread
socket编程的TCP
socket编程的UDP
socket的UDP编程的sendto,receiveform函数一‘
socket的UDP编程的sendto,receiveform函数二