随笔分类 -  C++

代码调试
摘要:1、使用调试工具确定段错误的位置; 当发生段错误时,执行的第一步操作应该是在调试器中运行程序并从重新产生段错误; 调试器将指出发生这种错误的代码行。 然后,可以通过调用调试器的反向跟踪(backtrace)功能获得其他有用信息。该功能显示导致调用引发错误的函数的调用序列;2、通过发出中断确定无限循... 阅读全文

posted @ 2014-06-09 19:50 阳台 阅读(413) 评论(0) 推荐(0)

STL-multimap
摘要:如果键值是string型,直接输出就可以了,multimap是排好序了的,STL的map表里有一个erase方法用来从一个map中删除掉指令的节点eg:map mapTest;typedef map::iterator ITER;ITER iter=mapTest.find(key);mapTest... 阅读全文

posted @ 2014-06-03 09:58 阳台 阅读(228) 评论(0) 推荐(0)

c++ 覆盖、重载、隐藏
摘要:函数重载:1、相同的范围内(即同一类中)2、函数名相同;3、参数不同;4、virtual关键字可有可无;函数覆盖:虚函数的功能、动态多态(父类中必须有virtual)========派生类函数 覆盖掉 基类函数;指派生类中存在重新定义的函数,其函数名、参数、返回值类型必须同父类中相对应被覆盖的函数严... 阅读全文

posted @ 2014-05-20 16:14 阳台 阅读(329) 评论(0) 推荐(0)

STL-multimap
摘要:转自:http://www.cnblogs.com/xiaoka/archive/2011/08/09/2132342.html multimap提供了可以一种可以有重复键值的STL map类型。其插入方式和map相似,但是由于可以拥有重复键值所以在查找方面有些不同。 查找 1. 直接找到每种键值的 阅读全文

posted @ 2014-05-20 11:23 阳台 阅读(230) 评论(0) 推荐(0)

在基类中的析构函数声明为virtual
摘要:1 #include 2 using namespace std; 3 4 class Father 5 { 6 public: 7 ~Father() 8 { 9 cout 2 using namespace std; 3 4 class Fathe... 阅读全文

posted @ 2014-05-14 11:12 阳台 阅读(632) 评论(0) 推荐(1)

C++中delete 和delete[]的区别
摘要:c++告诉我们在回收new分配的单个对象的内存空间的时候用delete, 回收new[ ]分配的一组对象的内存空间的时候用 delete[ ]; 1 #include 2 using namespace std; 3 4 class Father 5 { 6 public: ... 阅读全文

posted @ 2014-05-14 10:59 阳台 阅读(1005) 评论(0) 推荐(0)

C++命名空间<转>
摘要:转自:http://www.cnblogs.com/autocrat/archive/2010/05/05/1727630.htmlc++ using namespace std 详解 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的name... 阅读全文

posted @ 2014-05-06 11:38 阳台 阅读(232) 评论(0) 推荐(0)

Linux下多线程查看工具(pstree、ps、pstack)
摘要:转自:http://blog.csdn.net/yfkiss/article/details/67293641. pstreepstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)... 阅读全文

posted @ 2014-04-15 11:11 阳台 阅读(2274) 评论(0) 推荐(0)

知识杂项
摘要:void *p = malloc(100)string s = new(p) string();free p而s未被free掉;自己实现free;该写法可以大大提高代码效率!!!sys:1: DeprecationWarning: Non-ASCII character '\xe6' in fil... 阅读全文

posted @ 2014-04-15 11:00 阳台 阅读(202) 评论(0) 推荐(0)

c++类的实例化,有没有new的区别
摘要:A a;A * a = new a();以上两种方式皆可实现类的实例化,有new的区别在于:1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可控性增强。2.不加new在栈中分配内存3.大程序用new,小程序直接申请4.只是把对象分配在堆栈内存中5.new必须delete删除,不用new系统会自动回收内存起初刚学C++时,很不习惯用new,后来看老外的程序,发现几乎都是使用new,想一想区别也不是太大,但是在大一点的项目设计中,有时候不使用 new的确会带来很多问题。当然这都是跟new的用法有关的。new创建类对象,使用完后需使用delete删 阅读全文

posted @ 2014-03-03 19:19 阳台 阅读(4979) 评论(0) 推荐(0)

导航