标签:c++

C++在指定内存构造对象

| 2019年5月26日

问题 为了提高程序的性能,一个做法是一次性分配足够多的内存,从而避免多次申请以及数据拷贝。对于c++,有一个问题:如何在已分配好的内存上构造对象? 前文“vector的性能利器:reserve”提到使用reserve预先分配内存,再push_back或emplace_back,存储过万个大对象时可极… 继续阅读 »

vector的性能利器:reserve

| 2019年3月15日

vector是C++编程时的常用容器,其帮助用户自动管理存储空间,简单易用,且能避免资源泄露的问题。需要动态分配存储空间的场景,完全可替代原生数组。 vector被人诟病的地方在于性能。C++ 11引入array容器,有原生数组的性能,编译期能确定大小的情况可取代vector。但对于运行期才能确定大… 继续阅读 »

C++类特殊成员函数

| 2018年12月26日

转载请注明文章出处:https://tlanyan.me/special-member-functions-in-cpp-class/ C++类中有几个特殊的非静态成员函数,当用户未定义这些函数时,编译器将给出默认实现。C++11前有四个特殊函数,C++11引入移动语义特性,增加了两个参数为右值的特… 继续阅读 »

C++函数修饰符总结

| 2018年12月24日

转载请注明文章出处:https://tlanyan.me/cpp-function-modifier-summary/ C++博大精深,而且不断拥抱新的变化。本文简要总结一下C++中函数的修饰符,其中部分在实际中极少用到。 按修饰符的位置分为函数名前与函数名后两种,以下分别做介绍。 函数名前 返回值… 继续阅读 »

c++静态成员变量

| 2018年11月10日

2018.11.14更新:类定义时的静态成员只是声明,静态成员的定义和初始化要在类之外完成 C++的static关键字可修饰类成员变量/方法,表示变量/方法不从属于特定对象,而是属于类的。仔细琢磨静态成员变量,会发现其与C++的方式既相容也矛盾,具有特殊性。 先说相容的一面。·C/C++·有声明和定… 继续阅读 »