c++
青蛙~~
这个作者很懒,什么都没留下…
展开
-
内存函数地址const属性操作浅谈
同一类的不同对象,在调用相同的成员函数时,他们的入口地址是否相同? 什么样的机制来保证他们同时调用的时候不冲突,并且输出是各自的结果的? ...原创 2020-04-26 21:21:09 · 210 阅读 · 0 评论 -
stl多线程问题总结
1:stl多线程下可以同时读同一个容器数据 2:stl 多线程下不可以写同一个容器,需要保证顺序 3:stl多线程下可以写不同容器 4:stl多线程下不可以读写同一个容器,需要加读写锁 5:stl多线程下可以同时读定长的数据,不可以同时读取不定长的数据 6:stl多线程下要考虑的是别的线程会不会对当时的数据造成污染[不管是在读还是在写],如果有就有问题 ...原创 2020-04-26 14:25:35 · 470 阅读 · 0 评论 -
移动构造函数形象解释
std::move std::move() 并不會真正的移動對象真正移動对象的是移动构造函数,移动复制函数等的完成 std::move()只是将参数转换成右值罢了(可以理解为进行了static_cast操作) 这块代码会被移动吗 std::stting str = "test"; string && r = std::move(str); std::string t(r); ...原创 2020-04-25 21:20:05 · 365 阅读 · 0 评论 -
c++内存泄漏方面的知识
在使用内存时候记得进行null判断 如果指针 p 是函数的参数,那么在函数的入口 处用 assert(p!=NULL)进行检查。 如果是malloc和new申请的内存记得进行(p!=null)或者(p==null)判断原创 2020-04-16 12:31:54 · 290 阅读 · 0 评论 -
New[]和delete []为哈要匹配
New一个数组的时候他得地址大小是k*n+4的大小 k是几个 n是大小 4个字节是为了存储数组长度这样在删除的时候可以知道要析构delete []多少次析构函数释放多少内存 New和delete[]结合 int main(int argc, char *argv[]) { inner *p = new inner[2]; delete p; return 0; 这块很容易崩溃 因为我们使用了del...原创 2020-04-21 21:08:04 · 153 阅读 · 0 评论