- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 vs2008下win32 dll封装笔记
参考:http://www.cnblogs.com/wdhust/archive/2010/06/01/1749148.htmhttp://www.cppblog.com/XiaoMeiAQing/archive/2009/10/01/97697.htmlhttp://xiaoou2002.blog.163.com/blog/static/21586669200922652738585/
2016-04-26 10:10:48 434
原创 关于全局数组的初始化
1. 问题描述一个头文件mine.h,两个.cpp都include该mine.h,而且两个.cpp文件都要多次使用同一个常量数组array。2. 尝试过的失败方法(1)在头文件mine.h中定义全局数组array,出现重复定义的链接build错误。(2)分别在两个.cpp文件中定义全局数组array,同样出现重复定义的链接build错误。3. 正确的解决方法
2016-04-26 10:09:25 2580
原创 compile,build和rebuild(vs2008)
在Build菜单下有Compile,Build,Rebuild All三个菜单项用于编译程序。 Compile用于编译当前打开的活动文档。 Build只编译工程中上次修改过的文件,并链接程序生成可执行文件。如果以前没有作过编译,它会自动调用Rebuild All操作,依次编译资源文件、源程序文件等。 Rebuild All不管文件是否作过修改,都会编译工程中的所有源文
2016-04-26 10:06:46 1380
转载 C代码优化方案(二)
6、提高CPU的并行性(1)使用并行代码尽可能把长的有依赖的代码链分解成几个可以在流水线执行单元中并行执行的没有依赖的代码链。很多高级语言,包括C++,并不对产生的浮点表达式重新排序,因为那是一个相当复杂的过程。需要注意的是,重排序的代码和原来的代码在代码上一致并不等价于计算结果一致,因为浮点操作缺乏精确度。在一些情况下,这些优化可能导致意料之外的结果。幸运的是,在大部分情况下,最后结果可
2016-04-26 10:05:40 233
转载 C代码优化方案(一)
2008-11-10 作者:王全明 来源:csdn1、选择合适的算法和数据结构选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。在许多种情况下,可以用指针运算代替数组索引,这样做
2016-04-26 10:04:47 311
转载 如何优化C语言代码(程序员必读)
如何优化C语言代码(程序员必读) 1、选择合适的算法和数据结构 应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有 很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找 法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大 提高程序执行的效率。.选择一种合适的数据结构也很重要,比如你在一堆随机存
2016-04-26 10:01:51 784
转载 模板函数,模板类的声明和定义都放在.h文件
模板函数的声明和定义都放在.h文件2008年06月17日 星期二 18:05一个模板函数,把声明和定义分别放在.h文件和.cpp文件种,如果不调用这个函数的话,编译连接都能通过,但是如果调用这个函数的话,连接就有错误如下: --------------------Configuration: IRSEG - Win32 Release-------------
2016-04-26 09:53:16 681
原创 关于c++常量定义
在C++中,要定义一个常量,有两种主要的做法 1. 符号常量 (#define) 2. 常值变量 (const) 符号常量的定义方式,其实与C++本身没有关系,它是一个编译器指令,或者称为预处理指令(有关的预处理指令还有#include,#ifdefine等等)。 与符号常量相对的,常值变量需要通过const关键字定义。相对来说,const更加现代,它是c++的一个关键
2016-04-26 09:51:33 595
转载 c/c++ 数字转成字符串, 字符串转成数字
数字转字符串:用C++的streanstream:#include #Include string num2str(double i){ stringstream ss; ss return ss.str(); }字符串转数字:int str2num(string s) {
2016-04-26 09:49:48 303
转载 C++中产生随机数
计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。) 我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准
2016-04-26 09:48:56 224
转载 C++中 public protected private 类成员的访问
第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,
2016-04-26 09:47:35 887
原创 关于优化C++的小知识
1.构造函数初始化列表的使用,一些指针,内置类型的初始化可以在构造参数列表中初始化,速度较快。2.单独使用++,--等运算符,前置要优于后置,如++i要好于i++3.delete指针前,或其他释放空间函数如cvReleaseImage(IplImage*)要先判断该指针是否存在,如:if(image) cvReleaseImage(&image);4.对于图像等多维数组的遍历,要注
2016-04-26 09:45:04 235
原创 类的默认的构造函数
如果一个类中没有定义任何的构造函数,那么编译器只有在以下三种情况,才会提供默认的构造函数:1、如果类有虚拟成员函数或者虚拟继承父类(即有虚拟基类)时;2、如果类的基类有构造函数(可以是用户定义的构造函数,或编译器提供的默认构造函数);3、在类中的所有非静态的对象数据成员,它们对应的类中有构造函数(可以是用户定义的构造函数,或编译器提供的默认构造函数)。
2016-04-26 09:43:48 590
原创 关于C++中的常量成员函数
常量成员函数声明:如:int get() const;规则:1.常量成员函数不修改对象。2.常量成员函数在定义和声明中都应加const限定3.非常量成员函数不能被常量成员函数调用,但构造函数和析构函数除外。4.常量(const对象)对象只能调用常量成员函数。(const对象的数据成员在对象寿命周期内不能改变,因此其只能调用常量成员函数)。意义:1.使成员函数的意义更加清
2016-04-26 09:43:07 7224
原创 C++中string类对象的成员函数c_str()与C语言中字符串的联系
语法: const char *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样:
2016-04-26 09:42:01 563
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人