摘要: 背景 C++ 11 新特性对象移动,可以移动对象而非拷贝。在某些情况下,对象拷贝后就立刻被销毁了,比如值传递参数,对象以值传递方式返回,临时对象构造另一个对象。在这些情况下,如果使用移动对象而非拷贝对象能大幅提升性能。 string s1(string("hello")); // 无名对象strin 阅读全文
posted @ 2021-12-05 22:48 明明1109 阅读(1346) 评论(0) 推荐(0) 编辑
摘要: 为什么会有allocator类 new将内存分配和对象构造组合到了一起,delete将对象析构和内存释放页组合到了一起。 当申请分配一大块内存时,我们通常希望将内存分配和对象构建分离开。比如,下面将内存和对象构造组合到一起可能导致不必要的浪费: string *const p = new strin 阅读全文
posted @ 2021-12-05 16:01 明明1109 阅读(139) 评论(0) 推荐(0) 编辑