随笔分类 -  C++

C++ 基础
摘要:用例子给你示范 // 1.cpp int x = 10; // 2.cpp 注意没有包含1.cpp #include using namespace std; extern int x;int main () { cout void print() { std::cout using name... 阅读全文
posted @ 2015-04-14 11:17 wanqi 阅读(976) 评论(0) 推荐(1) 编辑
摘要:http://www.cppblog.com/prayer/archive/2012/04/23/172427.html这两天在看Pthread 资料的时候,无意中看到这样一句话(man pthread_detach):Either pthread_join(3) or pthread_detach... 阅读全文
posted @ 2015-03-31 16:07 wanqi 阅读(3738) 评论(0) 推荐(0) 编辑
摘要:http://www.360doc.com/content/13/0106/09/9171956_258497083.shtmlpthread_t pthr;pthread_create(&pthr, NULL, thread_handler, NULL);...void* thread_handl... 阅读全文
posted @ 2015-03-31 16:03 wanqi 阅读(11855) 评论(0) 推荐(0) 编辑
摘要:解决方法:右键点击的当前project—>properties—>C/C++ Build—>Settings—>Tool Settings选项卡—>GCC C Linker—>Command文本框g++后面添加 -lthread参数即可。原因:-lpthread是老版本的gcc编译器用的,在新版本中... 阅读全文
posted @ 2015-03-31 14:37 wanqi 阅读(1626) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-03-31 11:10 wanqi 阅读(522) 评论(0) 推荐(0) 编辑
摘要:ifeq ($(PLATFORM_VERSION),4.4)$(info "________________________4.4");LOCAL_CFLAGS += -DPLUSCREENCAST_19elseifeq ($(PLATFORM_VERSION),4.3)$(info "______... 阅读全文
posted @ 2015-03-30 16:33 wanqi 阅读(1596) 评论(0) 推荐(0) 编辑
摘要:http://www.tuicool.com/articles/mIJnumB#ifdef的用法 灵活使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。代码举例:新建define.cpp文件[cpp]view plaincopy#include"iostream.... 阅读全文
posted @ 2015-03-30 14:14 wanqi 阅读(44914) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/xdrt81y/article/details/24333335今天在做一个趋势笔试题的时候,才让我有了系统把const关键字好好总结一下的冲动,因为这个关键词大大小小好多地方都出现过,出现频率非常高,而每次只是简短的把答案看了一下,没有真正将其整个用法弄透... 阅读全文
posted @ 2015-03-27 18:03 wanqi 阅读(320) 评论(0) 推荐(0) 编辑
摘要:在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 this所保存的... 阅读全文
posted @ 2015-03-27 18:02 wanqi 阅读(690) 评论(0) 推荐(0) 编辑
摘要:http://www.jb51.net/article/49537.htm对于计算机程序设计而言,变量和对象在内存中的分配都是编译器在编译程序时安排好的,这带来了极大的不便,如数组必须大开小用,指针必须指向一个已经存在的变量或对象。对于不能确定需要占用多少内存的情况,动态内存分配解决了这个问题。ne... 阅读全文
posted @ 2015-03-27 15:51 wanqi 阅读(61542) 评论(2) 推荐(5) 编辑
摘要:http://blog.csdn.net/djh512/article/details/89736061.virtual关键字主要是什么作用?c++中的函数调用默认不适用动态绑定。要触发动态绑定,必须满足两个条件:第一,指定为虚函数;第二,通过基类类型的引用或指针调用。由此可见,virtual主要主... 阅读全文
posted @ 2015-03-26 17:05 wanqi 阅读(4380) 评论(0) 推荐(1) 编辑
摘要:http://blog.csdn.net/morewindows/article/details/6721430在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安... 阅读全文
posted @ 2015-03-26 17:04 wanqi 阅读(241) 评论(0) 推荐(0) 编辑
摘要:http://blog.163.com/hi_qiqiy@126/blog/static/1440667912010111693516434/虚函数为了重载和多态的需要,在基类中是有定义的,即便定义是空,所以子类中可以重写也可以不写基类中的此函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,... 阅读全文
posted @ 2015-03-23 14:01 wanqi 阅读(4215) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/ManMonth/archive/2013/09/05/3302873.htmlC++点和箭头操作符用法区别变量是对象的时候用“.”访问变量是对象指针的时候用“->”访问例:#inlclude usingnamespacestd;classA{publi... 阅读全文
posted @ 2015-03-10 14:12 wanqi 阅读(1612) 评论(0) 推荐(0) 编辑
摘要:from:://http://blog.csdn.net/taina2008/article/details/1684834把类中的函数都定义成静态函数,这样相当于在编译时就分配了空间,这样不需要实体对象也可以调用泪中的函数了。C++类静态数据成员与类静态成员函数我们如何才能在类范围内共享数据呢? 这个问题便是本章的重点: 声明为static的类成员或者成员函数便能在类的范围内共同享,我们把这样的成员称做静态成员和静态成员函数。 下面我们用几个实例来说明这个问题,类的成员需要保护,通常情况下为了不违背类的封装特性,我们是把类成员设置为protected(保护状态)的,但是我们为了简化代码... 阅读全文
posted @ 2013-10-31 08:54 wanqi 阅读(2849) 评论(0) 推荐(1) 编辑
摘要:from:://http://www.cnblogs.com/wangbin_ben/archive/2010/08/25/1808398.html首先介绍一下C++中的结构。对于一个结构来说,struct MyStruct {int member_a;};如果有个变量MyStruct s,那么使用其中的成员元素时可以用s.member_a = 1;如果采用指针方法访问,比如MyStruct * ps,那么同样的访问必须用箭头号:ps->member_a = 1;::只用在类成员函数和类成员变量中。比如,声明一个类:class CA {public:int ca_var;int add( 阅读全文
posted @ 2013-10-24 19:24 wanqi 阅读(750) 评论(0) 推荐(0) 编辑
摘要:from:://http://blog.163.com/zhuandi_h/blog/static/18027028820129169538815/起初刚学C++时,很不习惯用new,后来看老外的程序,发现几乎都是使用new,想一想区别也不是太大,但是在大一点的项目设计中,有时候不使用new的确会带来很多问题。当然这都是跟new的用法有关的。new创建类对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高效。一、new创建类对象与不new区别下面是自己总结 阅读全文
posted @ 2013-10-24 19:01 wanqi 阅读(974) 评论(0) 推荐(0) 编辑
摘要:from:http://www.cnblogs.com/zhangpengshou/archive/2008/08/24/1275187.html关键字是预先保留的标识符,每个关键字都有特殊的含义。我们不能在程序中使用与关键字同名的标识符。以下是C++所保留的关键字asmautobad_castbad_typeidboolbreakcasecatchcharclassconstconst_castcontinuedefaultdeletedodoubledynamic_castelseenumexceptexplicitexternfalsefinallyfloatforfriendgotoi 阅读全文
posted @ 2013-10-09 16:57 wanqi 阅读(267) 评论(0) 推荐(0) 编辑
摘要:在C++中,调用拷贝构造函数有三种情况:1.一个对象作为函数参数,以值传递的方式传入函数体.2.一个对象作为函数返回值,以值传递的方式从函数返回.3.一个对象用于给另外一个对象进行初始化(复制初始化).拷贝构造函数必须以引用的形式传递(参数为引用值).其原因如下:当一个对象以传递值的方式传一个函数的时候,拷贝构造函数自动的调用来生成函数中的对象.这样会导致无限循环地调用拷贝构造函数,直至栈溢出.以前,一直有个误解,以为以同类型的对象调用"="时,就会调用赋值符.参看以下的例子: 1 class CTest { 2 public: 3 CTest(); 4 CTest(con 阅读全文
posted @ 2013-10-09 16:47 wanqi 阅读(744) 评论(0) 推荐(0) 编辑
摘要:inline函数避免函数调用的开销// find longer of two strings const string &shorterString(const string &s1, const string &s2) { return s1.size() < s2.size() ? s1 : s2; }将 shorterString 写成函数有一个潜在的缺点:调用函数比求解等价 表达式要慢得多。在大多数的机器上,调用函数都要做很多工作;调用前要先保 存寄存器,并在返回时恢复;复制实参;程序还必须转向一个新位置执行。将函数指定为 inline 函数,(... 阅读全文
posted @ 2013-10-09 15:00 wanqi 阅读(301) 评论(0) 推荐(0) 编辑