C++
文章平均质量分 71
zzusimon
这个作者很懒,什么都没留下…
展开
-
MakeFile文件介绍
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程原创 2011-01-06 11:06:00 · 728 阅读 · 0 评论 -
Explicit——谨慎定义隐式类型转换函数
在查找别的资料的时候,看到这么一个关键字,以前都没见过觉得挺有用,于是找来More Effective C++进行学习总结一下。一 隐式转换 C++编译器能够在两种数据类型之间进行隐式转换(implicit conversions),它继承了C语言的转换方法。隐式把char——>int和从short——>double。转换可能会导致数据的丢失。自定义的类型转载 2016-10-30 15:34:35 · 849 阅读 · 0 评论 -
面试总结
1.为什么不能在析构函数中抛异常如果析构函数抛异常,导致c++调用termiate, 直接终止,导致内存泄露原创 2016-05-26 19:27:18 · 292 阅读 · 0 评论 -
架构设计是多进程还是多线程
就像莎士比亚的“To be, or not to be, that is the question”始终困扰着哈姆雷特,对于“进程还是线程?”这个问题,也经常困扰着那些进行软件架构设计的家伙。所以今天打算聊一下我对这个问题的体会。假如你还搞不清楚线程和进程的区别,请先找本操作系统原理的书好好拜读一下,再回来看帖。 由于这个问题很容易引发口水战,事先声明如下:多进程和多线程,无法一概而论地转载 2016-05-05 08:54:49 · 2515 阅读 · 0 评论 -
学习JNI
JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了原创 2012-04-05 17:20:20 · 354 阅读 · 0 评论 -
CSemaphore/CMutex/CCriticalSection/CEvent区别
临界区:临界区是一种最简单的同步对象,它只可以在同一进程内部使用。它的作用是保证只有一个线程可以申请到该对象。 互斥量与临界区的作用非常相似,但互斥量是可以命名的,也就是说它可以跨越进程使用。所以创建互斥量需要的资源更多,所以如果只为了在进程内部是用的话使用临界区会带来速度上的优势并能够减少资源占用量。因为互斥量是跨进程的互斥量一旦被创建,就可以通过名字打开它。转载 2012-04-23 17:10:00 · 656 阅读 · 0 评论 -
C++类库介绍
在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。标准库标准库中提供了C转载 2012-02-15 18:02:19 · 490 阅读 · 0 评论 -
boost:regex分割字符串(带有'\'字符)
在实际的应用中,经常用到boost:regex进行字符串的分割,特别是windows下的路径字符串的分割,由于windows的路径字符串带有特殊字符'\',boost:regex需要对此进行特殊处理,下面举例说明,分割字符串的正则表达式如下:boost::regex re原创 2011-08-31 10:32:11 · 3257 阅读 · 0 评论 -
关于一个虚函数的疑惑
C/C++ code//============================================================================// Name : VirtualTest.cpp// Author原创 2011-08-22 17:40:35 · 519 阅读 · 0 评论 -
平台无关的高效原子操作:ACE_Atomic_Op
在软件开发中,我们经常会遇到多个线程对同一数据操作的同步问题,如果需要同步保护的是一组变量,则直接分用互斥锁进行保护,可以如果需要保护的只是一个整数(如:int,long...),则有更为高效的办法:ACE_Atomic_OpACE_Atomic_Op是ACE提高的一原创 2011-08-15 10:25:59 · 2856 阅读 · 0 评论 -
静态变量和静态函数
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态原创 2011-09-06 10:27:50 · 646 阅读 · 0 评论 -
面试题
给你一个没有间隔的字符串“thisisasentence”,如何将他分割成如下的句子:“this is a sentence”。提供一个函数用来检验一个字符串是不是单词:bool dic(char* w);完成下列的函数。要求效率尽可能快。bool Detect(char* str){}尽量写出完整思路,最好有伪代码原创 2011-05-31 15:22:00 · 775 阅读 · 0 评论 -
CreateThread和_beginthread区别及使用
CreateThread 是一个Win 32API 函数,_beginthread 是一个CRT(C Run-Time)函数,他们都是实现多线城的创建的函数,而且他们拥有相同的使用方法,相同的参数列表。但是他们有什么区别呢?一般来说,从使用角度是没有多大的区别的,CRT函数中除了signal()函数不能在CreateThread创建的线城中使用外,其他的CRT函数都可一正常使用,但转载 2016-10-30 16:42:35 · 601 阅读 · 0 评论