摘要: 为了更直观的感受到内存布局,我们使用gcc的编译选项-fdump-lang-class查看 如下代码 class Base{ public: Base(){} virtual ~Base(){} privte: int i; }; 使用如下命令编译 g++ -O0 -std=c++11 -fdump 阅读全文
posted @ 2024-11-03 17:50 sgqmax 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 在计算机中,我们都知道0.1+0.2是不等于0.3的 那等于多少呢?我们使用程序测试一下 #include<iomanip> int main(){ std::cout<<std::setprecision(18)<<0.1+0.2; return 0; } //out: 0.30000000000 阅读全文
posted @ 2024-11-03 17:47 sgqmax 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 迭代器失效 序列式容器 vector deque 使用连续分配的内存 删除一个元素,会导致后面的元素前移 不能使用如erase(iter++)这种方式删除元素 erase()会返回下一个有效的迭代器 /* for(iter=v.begin(); iter!=v.end(); iter++){ if( 阅读全文
posted @ 2024-11-03 17:37 sgqmax 阅读(6) 评论(0) 推荐(0) 编辑
摘要: C++初始化 C++11之前的初始化 T var; // 构造 T var(val); T var= val; // 列表 T var{val}; T var={val}; C++11统一了初始化方法:列表初始化 brace-initialization 消除了之前初始化基本类型、聚合类型和非聚合类 阅读全文
posted @ 2024-11-03 17:35 sgqmax 阅读(2) 评论(0) 推荐(0) 编辑