c++
文章平均质量分 73
超逸_流
这个作者很懒,什么都没留下…
展开
-
c++内存泄露机制
转自:http://blog.csdn.net/zcsylj/article/details/6409490对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如 Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,转载 2015-05-05 16:47:03 · 1025 阅读 · 0 评论 -
doxygen 使用简介(C,C++为代码作注释)
doxygen注释块doxygen注释块其实就是在C"C++注释块的基础添加一些额外标识, 使doxygen把它识别出来, 并将它组织到生成的文档中去。在每个代码项中都可以有两类描述, 这两类描述将在文档中格式化在一起: 一种就是brief描述, 另一种就是detailed。 两种都是可选的,但不能同时没有。顾名思义, 简述(brief)就是在一行内简述地描述。而详细描述(转载 2015-08-04 16:13:20 · 2537 阅读 · 0 评论 -
C/C++函数参数读取顺序
说到C/C++函数参数读取顺序,很多人都知道在入栈时是从右至左的,可是真的有那么简单吗?先看一个例子:#include int main() { int a = 10; printf("%d %d %d\n", a++, ++a, a); return 0;}按照从右向左读取,想当然的结果应该是:11 11 10,执行后a = 12。可是真的是这样吗?转载 2015-08-04 10:26:49 · 1108 阅读 · 1 评论 -
cocos2d-x中的C++ 编码规范
声明务必要看头文件define用法前向声明内联函数-inlh文件函数参数顺序include的命名和顺序作用域命名空间非命名的命名空间命名空间的使用规则嵌套类非成员函数静态成员函数全局函数局部变量静态变量和全局变量类在构造函数里面完成工作初始化显式构造函数拷贝构造函数委派和继承构造函数结构体 vs 类继承多重继承接口操作符重载访问控制声明顺序编原创 2015-08-01 18:39:39 · 4081 阅读 · 0 评论 -
C++ 智能指针详解
C++ 智能指针详解 一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_p转载 2015-08-03 20:22:44 · 503 阅读 · 0 评论 -
C++技巧之断言Assert
断言的应该是一种编程的常见技巧。我所应用的断言有两种,一种是动态断言,即大家所熟知的C标准库的assert()宏,一种是C 中的静态断言,即在编译期间检查。1)动态断言:assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:view plaincopy to clipboardprint?#include void assert( int e转载 2015-08-04 11:11:27 · 1051 阅读 · 0 评论 -
C/C++中const关键字详解
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数:转载 2015-08-04 10:44:19 · 489 阅读 · 0 评论 -
50条大牛C++编程开发学习建议
最近发现一篇帖子挺热的,转过来供大家学习http://edu.9miao.com/group/1/thread/98每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走转载 2015-08-14 10:11:18 · 956 阅读 · 1 评论 -
C++ 全局变量和局部变量
一:为什么静态成员变量要通过类外初始化赋值?当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态数据成员的用途之一是统计有多少个对象实际存在。静态数据成员不能在类中初始化,实际上类定义只是在描述对象的蓝图,在其中指定初值是不转载 2015-08-01 11:26:13 · 4936 阅读 · 0 评论 -
C++ 之 std::nothrow
首先给出知乎的相关回答:http://www.zhihu.com/question/20024129出乎意料的简短:对于比较健壮的代码来说,nothrow使用的情况比直接new多很多吧。直接new如果失败要抛出异常的,结果就是为了健壮性代码里到处都是try。所以一般健壮的分配方式都用new (nothrow) xxx的(当然也有用malloc等的),之后判断NULL就o原创 2015-08-12 17:40:51 · 3254 阅读 · 0 评论 -
C/C++中作用域详解
转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777433.html 作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。(1) 全局变量:转载 2015-07-30 18:27:42 · 1360 阅读 · 0 评论 -
string::npos
定义:static const size_t npos = -1;通常跟find()方法连用来判断如果find方法返回一个名为 string::npos 的特殊值,说明查找没有匹配。原创 2015-08-12 17:46:18 · 430 阅读 · 0 评论 -
C++ 嵌套类使用
C++嵌套类1、 嵌套类的名字只在外围类可见。2、 类的私有成员只有类的成员和友元可以访问,因此外围类不可以访问嵌套类的私有成员。嵌套类可以访问外围类的成员(通过对象、指针或者引用)。3、 一个好的嵌套类设计:嵌套类应该设成私有。嵌套类的成员和方法可以设为 public 。4、 嵌套类可以直接访问外围类的静态成员、类型名( typedef )、枚举值转载 2015-07-30 20:12:07 · 4124 阅读 · 0 评论 -
关于类的前向声明
前向声明的定义:有些时候我们可以声明一些类但是并不去定义它,当然这个类的作用也很有限了。比如class foo;声明一个foo类,这个声明,有时候也叫做前向声明(forward declaration),在声明完这个foo类之后,定义完这个foo类之前的时期,foo类是一个不完全的类型(incomplete type),也就是说foo类是一个类型,但是这个类型的一些性质(比如包含哪转载 2015-07-29 23:30:25 · 1095 阅读 · 0 评论 -
C语言指针转换为intptr_t类型
今天看代码的时候看到intptr_t,不明白这是什么类型,所以googling了一下,结果又学到了很多~~~首先总结下:intptr_t (无符号版本写成 uintptr_t)这个类型可以被安全的在 void * 和 整数间转换,对于写跨 64 位平台的程序非常重要。也就是说,当你需要把指针作为一个整数来运算时,转换成 intptr_t才是安全的,可以在运算完毕安全的转回指针类型。转载 2015-08-08 10:10:44 · 2020 阅读 · 0 评论