- 博客(14)
- 资源 (25)
- 收藏
- 关注
转载 获取文件夹下de所有文件名
有时我们想要把一个文件夹中的所有文件名整理到一个execl文件中,便于管理和查询以及打印,多数是使用“复制”、“粘贴”方法(将文件夹中的文件重命名,在可编辑状态下进行复制,而后在其他文档中粘贴)。这种办法可行,但对于文件夹中有大量的文件的情况,则工作效率低,而且做完后必须核对。利用DOS的重定向命令“>>”可方便快捷的实现假设在c盘根目录下存在一个文件夹my,现在我们要整理出所有my下
2016-08-02 10:04:48 277
原创 关于智能指针小结
C++之RAIIC++中的RAII全称是“Resource acquisition is initialization”,直译为“资源获取时就初始化”一般情况下,RAII临时对象不允许复制和赋值,当然更不允许在heap上创建,因为如果允许了复制和赋值,有些时候作为形参传入该对象时候,采用了默认构造函数,无法对某些变量或操作初始化,导致析构的时候,发生问题,例如:1.线程锁的情况
2016-06-29 14:13:42 268
原创 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 378
原创 派生类
在做三维可视化一个项目的时候,用到OIV里的一些节点类,有些功能需要另外添加或封装时,经验发现最好使用派生,尽少用包含封装(将库中的类作为新生成的类的成员加以保护),一个原因在于,如果是派生的类,append到基类时,基类在做removeChildren行为时,会自动调用到派生的析构,而不用自己去写代码删除该类,但使用包含封装的方法,需要自己删除,容易遗忘造成泄露。
2015-12-03 13:21:46 277
转载 Qt Pro
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1111、读系统变量:$$(Parameter)2222、导入库和动态库放在一起,在pro中需指定路径:-L路径\bin1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:
2015-11-02 17:18:04 327
转载 枚举型变为字符串(宏#)
枚举型变为字符串(宏#) 转载▼有必要先讲一下宏#,当然可以直接调到第4点看结果1. 宏中"#"#把宏参数变为一个字符串#define STR(s) #sprintf(STR(vck)); // 输出字符串"vck"2. "##"的用法#define CONS(a,b) int(a##e##b)int 2e3
2015-01-23 15:51:16 943
原创 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 487
转载 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 343
转载 为什么不要在构造函数中调用虚函数
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 806
转载 C++中虚析构函数的作用
用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout };cl
2014-09-18 13:52:33 264
转载 为什么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 907
转载 宏定义\字符串 多行书写时换行
字符串常量定义时的换行问题 如果我们在一行代码的行尾放置一个反斜杠,c语言编译器会忽略行尾的换行符,而把下一行的内容也算作是本行的内容。这里反斜杠起到了续行的作用。 构建较长的字符串是续行的常见用途, 还有一个作用是定义跨行的宏。 如果我们不使用反斜杠,当我们试图初始化一个跨多行的字符串是,c语言编译器就会发出警告。如下面的语句所示:char letters[
2014-08-07 09:49:02 1089
转载 const用法小结(转)
1.const常量,如const int max = 100;优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)2.const 修饰类的数据成员。如:class A{ const int size; …}const数据成员只在某个对象生存期内是常量,而对于整个
2008-02-02 23:25:00 228
原创 内联函数与外联函数的区别
在类的定义中规定在类体中说明的函数作为类的成员,称为成员函数。前面讲过一般的成员函数,它是根据某种类的功能的需要来定义的。又讲述了一些特殊的成员函数:构造函数、析构函数、拷贝初始化构造函数等。还有一些成员函数后面还会介绍。 成员函数除了说明和定义在类中之外,还有些什么特性,这是本节讨论的问题。 一、内联性和外联函数 类的成员函数可以分为内联函数和外联函数。内联函数是指那些定义在类体内的成员函
2008-02-02 23:19:00 1333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人