
C++
杭逸晨_ henry
互联网大厂8年工作经验,专注JAVA、分布式研发和架构设计、项目管理、运维等方向。欢迎沟通交流。
展开
-
如何限制对象只能建立在堆上或者栈上
如何限制对象只能建立在堆上或者栈上 在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。 静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方法,直接调用类转载 2014-07-29 15:53:48 · 565 阅读 · 0 评论 -
动态申请和释放一个二维数组
动态申请和释放一个二维数组也很常见,下面是常见的两种形式。原创 2015-02-26 20:27:35 · 1093 阅读 · 2 评论 -
C++中delete和delete[]的区别
一直对C++中的delete和delete[]的区别没有很关注,得出了结论。做个备份,以免丢失。C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类原创 2015-01-25 15:23:22 · 740 阅读 · 0 评论 -
字符串数组qsort排序
字符串数组qsort排序原创 2015-03-04 23:46:27 · 15490 阅读 · 2 评论 -
C/C++预编译指令
编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。下面举个例子:程序中往往有很多的预处理指令#ifdef XXX...#else#endif当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:#ifdef XXX...#error "XXX has been defined"#els原创 2015-03-04 23:41:05 · 947 阅读 · 0 评论 -
链表反转
链表反转原创 2015-03-04 23:47:40 · 1115 阅读 · 0 评论