C++
文章平均质量分 78
cwchenwu88
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用GDB调试程序(一)
说明 从优快云的网站上找到的GDB使用说明。 原文标题:用GDB调试程序作者:haoel (QQ是:753640,MSN是: haoel@hotmail.com)关键字:gdb 调试 c c++ gun这篇文章非常好,所以转载了下来,作为收藏。转载 2011-09-20 11:07:34 · 243 阅读 · 0 评论 -
【引用酷壳】C++11 中值得关注的几大变化(详解)
源文章来自前C++标准委员会的 Danny Kalev 的 The Biggest Changes in C++11 (and Why You Should Care),赖勇浩做了一个中文翻译在这里。所以,我就不翻译了,我在这里仅对文中提到的这些变化“追问为什么要引入这些变化”的一个探讨,只有知道为了什么,用在什么地方,我们才能真正学到这个知识。而以此你可以更深入地了解这些变化。所以,本文不是转载 2012-05-27 19:47:36 · 417 阅读 · 0 评论 -
理解extern "C"
关于extern “C”的来龙去脉,摘录的三篇网友文章,如下:http://www.yuanma.org/data/2006/0830/article_1438.htm1、 引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称转载 2012-05-27 16:45:57 · 377 阅读 · 0 评论 -
c/C++内存分配
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(s转载 2012-05-27 20:16:50 · 426 阅读 · 0 评论 -
C++:new运算符和new表达式详解
摘要:在C++中new是一个行为和语法都有点诡异的结构,它的语法上与其它C++语法不同,它在语义上却也经常引起人们的不解,尤其当用户自定义的new在使用的时候。本文试图回答作者在学习new的时候遇到的问题,同时这些问题也可能是大多数人首先遇到的问题。目录 [隐藏]new 关键字new 运算符new 表达式new 关键字new是C++的关键字,它不仅仅转载 2012-05-27 14:59:28 · 8923 阅读 · 2 评论 -
new和malloc的区别和联系
1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,而malloc没有这些信息。4、new 和 mallo转载 2012-05-27 20:07:12 · 307 阅读 · 0 评论 -
关于g++编译模板类的问题
写了一个线性表的模板,类如下:"List.h"template class List{};"AList.h"template class AList : public List{};本来讲AList的实现和声明分离了,实现写在AList.cc文件中而main.cc中用到 AList alist;makefile文件如下:Complier=g++Alist原创 2012-03-06 10:37:58 · 1200 阅读 · 0 评论 -
c++模板类(1) 理解编译器的编译模板过程
如何组织编写模板程序前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都能体会到这样的滋味:接口简单,操作复杂。我在5年前开始使用模板,那时我看到了MFC的容器类。直到去年我还没有必要自己编写模板类。可是在我需要自己编写模板类时,我首先遇到转载 2012-03-06 10:41:18 · 372 阅读 · 0 评论 -
Boost_1_47_0+STLpor+VS2005终于编译成功
搞了好几天今天晚上终于编译成功了,全部编译通过,2946个哈,1、准备工作(STLport5.2.1,Boost_1_47_0) 下载STLport,boost库,空间预留多一点至少5个G吧,boost的lib有1.35GB,bin-v2是临时文件(有好几G),编译完了就可以删掉了。2、STLport配置 用记事本打开C:\Program Files\Microso转载 2012-02-12 18:02:21 · 757 阅读 · 0 评论 -
用GDB调试程序(六)
七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默转载 2011-09-20 11:12:11 · 218 阅读 · 0 评论 -
用GDB调试程序(七)
改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。转载 2011-09-20 11:12:54 · 332 阅读 · 0 评论 -
用GDB调试程序(三)
四、维护停止点上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。 clear 清除所有的已定义的停止转载 2011-09-20 11:09:50 · 219 阅读 · 0 评论 -
用GDB调试程序(五)
查看运行时数据——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print /转载 2011-09-20 11:11:37 · 277 阅读 · 0 评论 -
用GDB调试程序(四)
查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令:转载 2011-09-20 11:10:40 · 218 阅读 · 0 评论 -
用GDB调试程序(二)
GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyrigh转载 2011-09-20 11:08:43 · 221 阅读 · 0 评论 -
const限定修饰符用法总结(常量,指针,迭代器,函数参数,成员函数)
在这里总结一下const限定修饰符的各种用法,都已经过vs2010测试。1) 声明及初始化const常量。在声明一个const常量时,必须对其初始化,否则会报错。1 const int constvar; //error2 const int constvar = 10; //ok但是,有一个例外的情况,就是extern进来的const常量不需要转载 2012-05-15 20:56:23 · 463 阅读 · 0 评论
分享