C/C++
jingsihu
这个作者很懒,什么都没留下…
展开
-
在std库中 cout<< 是右结合的
在std库中 cout<< 是右结合的,下面用代码来证明:#include int whole=20;int addwhole(){ whole+=8; return whole;}int subwhole(){ whole-=9; return whole;}void main(){ std::cout<<addwhole(原创 2013-10-08 10:04:08 · 963 阅读 · 1 评论 -
Object-Based与Object-Oriented的区别,个人理解
封装ob多态继承oo基于对象是一种Abstract DataType,它封装了一些复杂的操作,使之易于使用。比如说string,在C++中,通过类来实现。(封装一些数据及一些操作)面向对象的核心是多态,关键在于你不必知道对象的真正类型,只要知道它是一种什么类型,C++中,通过类,继承,虚函数来实现。《深度探索C++对象模型》上第一章最后几段的话:Object-ori原创 2017-03-29 11:22:07 · 3828 阅读 · 0 评论 -
shared_ptr的学习记录
1、对智能指针本身赋值操作,拷贝构造都会对计数器加1。这些特性的真正决定者是计数器的赋值、拷贝构造函数。2、对指向对象本身的析构发生在计数器析构时,判断计数器的成员变量(int)为1时做减1操作,并且析构指向的对象。计数器用来计数的成员变量的类型决定了最多有多少次引用,在linux64位系统上int是32位。3、对以下这段代码的理解。对友元类的private: tem原创 2017-03-29 10:54:46 · 270 阅读 · 0 评论 -
抛出异常
抛出异常后,从异常点开始后面的语句都不再执行,直接穿过各层函数的堆栈,直达catch为止,所以加锁时要特别注意,加锁,解锁操作最好是在try catch同一层。原创 2017-04-07 20:29:25 · 268 阅读 · 0 评论 -
头文件搜索顺序
搜索目录的顺序以优先级从高到低排列如下:-I-isystem gcc默认的系统目录,比如/usr/include原创 2017-04-18 10:45:04 · 816 阅读 · 0 评论 -
gcc与g++的区别
一:gcc与g++比较编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern"C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。 误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:原创 2017-04-06 15:28:50 · 349 阅读 · 0 评论 -
linux下gcc默认搜索头文件及库文件的路径
一、头文件gcc 在编译时如何去寻找所需要的头文件:※所以header file的搜寻会从-I开始※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH※再找内定目录/usr/include/usr/local/include(centos7中该目录下是空的)gcc的一系列自带原创 2017-04-06 14:44:25 · 8488 阅读 · 1 评论 -
linux socket编程 出现信号SIGPIPE,分析及解决
在编写一个仿QQ软件,C/S模式。出现的问题:当客户机关闭时,服务器也随着关闭,纠结很久之后,我gdb了下,出现下面提示信息:Program received signal SIGPIPE, Broken pipe.0x0012e416 in __kernel_vsyscall ()在 网上查了一下出现SIGPIPE的原因:如果尝试send到一个已关闭的socket上两次,就会出现转载 2017-06-12 18:15:18 · 529 阅读 · 0 评论