C/C++
文章平均质量分 66
sharpbladepan
这个作者很懒,什么都没留下…
展开
-
C++对象赋值和移动时堆内存的使用差异
用Valgrind套件中的massif来观察程序运行中堆内存的变化,从而了解两个操作的差异原创 2024-05-19 02:25:16 · 226 阅读 · 0 评论 -
使用Valgrind工具套件中的Massif监测C++程序堆内存使用
通过一个简单例子介绍Valgrind工具套件中的Massif使用方法原创 2024-05-11 03:27:43 · 1068 阅读 · 0 评论 -
一个C++小程序调试过程记录
一个包含mysql访问的小程序在linux上的运行调试过程分享原创 2024-05-02 00:05:56 · 946 阅读 · 0 评论 -
g++ 13.2.0 编译 C++模块
使用g++编译模块源代码。原创 2024-04-11 23:57:02 · 351 阅读 · 0 评论 -
在vscode中创建任务编译module源文件
vscode中创建自己的编译任务。原创 2024-01-02 21:57:51 · 566 阅读 · 0 评论 -
创建并使用自己的C++模块(Windows10+MSVC)
创建并使用自己的C++模块原创 2024-01-01 10:53:05 · 540 阅读 · 0 评论 -
MSVC++ 编译 module std
msvc编译std module及使用介绍原创 2023-12-28 21:43:02 · 910 阅读 · 0 评论 -
C++移动构造函数,移动赋值和编译选项-fno-elide-constructors
对比了拷贝构造函数和移动构造函数,赋值和移动赋值运算,以及有无-fno-elide-constructors选项的情况。原创 2023-02-04 20:49:50 · 972 阅读 · 0 评论 -
Const变量和enum变量gcc编译生成目标文件分析
<!-- @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } --> Effective C++第三版中文版(候捷译)第二条“尽量以const, enum, inline 替换#define”中讲到 此外虽然优秀的编译器不会为“整数型const对象”设定另外的原创 2008-06-14 21:20:00 · 1592 阅读 · 0 评论 -
boost::hash初学乍练,呵呵
昨天编译,安装好了boost,今天想小试一把。以前看了些书,都说STL里面缺少了hash,而boost::hash也基本确定进入C++0X的标准了,何不试一下boot::hash呢?浏览了一下boost::hash的document,感觉不太难,试试了。现在Dev-CPP中设置好include和lib的路径,代码如下(贴代码凑文章了,呵呵):#include #include using name原创 2006-02-12 22:42:00 · 8419 阅读 · 0 评论 -
在WindowsXP下使用Dev-Cpp编译Boost步骤
(假设dev-cpp的安装路径为d:/develop/dev-cpp/,由于Dev-cpp使用的其实 是mingw的编译器,因此编译boost时选择的toolset也就是mingw)(1)下载boost_1_33_1.exe,将其解压到D:/Develop/boost_1_33_1/目录下,这里面都是源码,需要编译成库。(2)编译Boost.Jam,这是Boost的编译工具,也需要从源码编译。进原创 2006-02-11 18:34:00 · 3236 阅读 · 1 评论 -
vector的capacity增长方式
vector的capacity增长方式 vector的capacity()调用返回vector中最大能够存储的元素个数,也即在下一次需要扩充容量之前能容纳的元素个数。reserve会使容器在必要的时候增长,以便容纳制指定数目的元素。 例程:#include #include using namespace std; int main(int argc,原创 2006-02-05 22:19:00 · 7157 阅读 · 2 评论 -
深入理解私有成员
深入理解私有成员 更多内容,请参考《Exceptional C++ Style》,Item 16。 例1:int Twice(int i) {return 2 * i;} class X { public: double Twice(double d) {return 2 * d;} private: int Twice(int i) {re原创 2006-02-04 20:04:00 · 1594 阅读 · 0 评论 -
模板函数重载
模板函数重载 例子: template //(a):主模板void f(T t){ cout } int main(int argc, char *argv[]){ int *p = new int(2); f(p);原创 2006-02-04 20:00:00 · 1764 阅读 · 0 评论 -
std::mem_fun和编译器
std::mem_fun和编译器 Exceptional C++ Style一书第四条阐述了std::mem_fun的相关问题,尝试了下述的代码。 int main(){ int a1[] = {2,1,5,6,4}; int a2[] = {11,4,67,3,14}; list s1(a1,a1+5); list s2(a2,a原创 2006-02-04 19:55:00 · 1410 阅读 · 0 评论 -
友元模板和编译器
友元模板和编译器 更多内容参见《Exceptional C++ Style》第8条。 代码示例: namespace boost { templatevoid checked_delete(T *x) { delete x; }} class Test { ~Test() {} friend void boost::checked_de原创 2006-02-04 19:58:00 · 1389 阅读 · 0 评论 -
一小段C++/CLI程序的调试经过
CSDN今年4期上Stanley Lippman的文章《C++/CLI基本类型》中有一小段代码:String^ bonus = "$ 12,000.79";double bonusString(String^ bonus) { NumberStyles ns = NumberStyles::AllowLeadingWhite; ns |= NumberStyles::Allo原创 2005-09-16 21:49:00 · 1830 阅读 · 1 评论