
C++
xiaoqi2008
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内联函数与外联函数的区别
在类的定义中规定在类体中说明的函数作为类的成员,称为成员函数。前面讲过一般的成员函数,它是根据某种类的功能的需要来定义的。又讲述了一些特殊的成员函数:构造函数、析构函数、拷贝初始化构造函数等。还有一些成员函数后面还会介绍。 成员函数除了说明和定义在类中之外,还有些什么特性,这是本节讨论的问题。 一、内联性和外联函数 类的成员函数可以分为内联函数和外联函数。内联函数是指那些定义在类体内的成员函原创 2008-02-02 23:19:00 · 1402 阅读 · 0 评论 -
CRT调试内存泄露
使用VS自带的模块CRT检测内存泄露,方法:在cpp文件中,包含:#define _CRTDBG_MAP_ALLOC#include #include ////为了定位cpp中泄露的具体位置,做如下定义:#ifndef DBG_NEW#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )#define原创 2016-06-28 17:15:34 · 430 阅读 · 0 评论 -
Qt Pro
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1111、读系统变量:$$(Parameter)2222、导入库和动态库放在一起,在pro中需指定路径:-L路径\bin1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:转载 2015-11-02 17:18:04 · 345 阅读 · 0 评论 -
C++ 前置声明和include引起的问题
代码:class Data{public:Data();~Data();}///////////////////////////////////////////////////////class Data;class A{public:A(){m_pData = new Data;};~A(){if (m_pData != NUL原创 2014-11-29 13:48:46 · 523 阅读 · 0 评论 -
LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):export L转载 2014-11-21 10:09:32 · 388 阅读 · 0 评论 -
为什么Release版出错,Debug版的不出错
为什么Release版出错,Debug版的不出错? 内存分配问题1. 变量未初始化。下面的程序在debug中运行的很好。 thing * search(thing * something) BOOL found; for(int i = 0; i { if(whatever[i]-> field == someth转载 2014-09-01 13:50:57 · 993 阅读 · 0 评论 -
C++中虚析构函数的作用
用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout };cl转载 2014-09-18 13:52:33 · 288 阅读 · 0 评论 -
为什么不要在构造函数中调用虚函数
http://www.cnblogs.com/carter2000/archive/2012/04/28/2474960.html先看一段在构造函数中直接调用虚函数的代码: 1 #include 2 3 class Base 4 { 5 public: 6 Base() { Foo(); } ///< 打印 1 7 8 v转载 2014-09-18 13:56:34 · 862 阅读 · 0 评论 -
宏定义\字符串 多行书写时换行
字符串常量定义时的换行问题 如果我们在一行代码的行尾放置一个反斜杠,c语言编译器会忽略行尾的换行符,而把下一行的内容也算作是本行的内容。这里反斜杠起到了续行的作用。 构建较长的字符串是续行的常见用途, 还有一个作用是定义跨行的宏。 如果我们不使用反斜杠,当我们试图初始化一个跨多行的字符串是,c语言编译器就会发出警告。如下面的语句所示:char letters[转载 2014-08-07 09:49:02 · 1148 阅读 · 0 评论 -
const用法小结(转)
1.const常量,如const int max = 100;优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)2.const 修饰类的数据成员。如:class A{ const int size; …}const数据成员只在某个对象生存期内是常量,而对于整个转载 2008-02-02 23:25:00 · 248 阅读 · 0 评论 -
关于智能指针小结
C++之RAIIC++中的RAII全称是“Resource acquisition is initialization”,直译为“资源获取时就初始化”一般情况下,RAII临时对象不允许复制和赋值,当然更不允许在heap上创建,因为如果允许了复制和赋值,有些时候作为形参传入该对象时候,采用了默认构造函数,无法对某些变量或操作初始化,导致析构的时候,发生问题,例如:1.线程锁的情况原创 2016-06-29 14:13:42 · 306 阅读 · 0 评论