![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tech
文章平均质量分 65
zbwzll2
这个作者很懒,什么都没留下…
展开
-
linux c++ pthread_create 用法
usage of pthread_create()header file : #include , lib to link : libpthread.a, should add parameter -lpthread when compiling, but I found its also ok if not adding it. Perhaps crash whe原创 2011-06-11 09:40:00 · 3217 阅读 · 3 评论 -
虚继承 重载 覆盖 隐藏
关于C++中的虚拟继承的一些总结1.为什么要引入虚拟继承虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下:class Aclass B1:public转载 2013-05-11 19:45:17 · 595 阅读 · 0 评论 -
二叉树的非递归遍历
二叉树的非递归遍历二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实转载 2013-05-08 19:22:36 · 527 阅读 · 0 评论 -
VS2010 ATL 控件开发
使用ATL做COM开发,开发出来的控件以Dll形式存在,比起MFC来要小,且一个Dll内可以容纳多个ActiveX控件新建个工程,选dll,支持MFC添加几个对象,FirstClass和SecondClass是ATL简单对象(simple object),不是控件类,用来测试CCtrl1是控件类,要支持事件,一定要选支持连接点(connection point),最好把支持错误原创 2013-03-26 13:48:26 · 2261 阅读 · 1 评论 -
内存对齐
#pragma pack(8)struct s1{DWORD dw1;WORD w1;DWORD dw2; //BYTE n1;}; sizeof(s1) == 12内存分布应该是1111 11xx 1111这是12个字节了.而整个结构体的大小,要按照结构体内 对齐数最大的成员来算(这里为4), 即结构体大小必须是4的整数倍. 而不是8(pac原创 2011-12-29 17:30:00 · 375 阅读 · 0 评论 -
win7 sp1下编译使用了ado的程序,在winxp下无法连接数据库
win7 sp 1下编译使用了ado的程序,在winxp下无法连接数据库.连得是mssqlserver2008r2express同一个程序的同一个版本号,在winxp 下编译,能连上数据库在win7 sp1 下编译,就连不上数据库原因是win7 sp1 和winxp的ado版本不一致,导致了某种不兼容性winxp下编译的应该能在win7下运行没问题(能连上数据库)win7原创 2011-08-26 11:46:49 · 3174 阅读 · 3 评论 -
C#垃圾回收
读完下面的文章会有种感觉,只有类型含有非托管资源时,才需要考虑手动清理.其实不然,如果类型中只有托管资源,实现IDispose可以实现定时的资源清理可以准确的知道资源在何时被清理.只用终结器(虚构函数)的方法(不与IDispose一起使用),对性能有负面影响,内存清理将会推迟到第三代的GC,资源驻留内存中的时间会加长. 所以,个人认为,对于C#中的资源管理,仅当程序集中使用了非托管转载 2011-12-04 17:26:17 · 1319 阅读 · 0 评论 -
C#:abstract virual 区别 和 相同之处
1:abstract 方法 必须 没有实现, 且必须被继承类(如果该类不是抽象类的话)实现.声明了abstract方法的类必须为abstract类,abstract类可以有其他非抽象方法.2:virual方法必须有实现.别不必被继承类实现.声明了virtual方法的类,不必是abstract类3:abstract方法只不过是virtual方法的纯粹版本,abstract原创 2011-12-04 14:21:17 · 881 阅读 · 0 评论 -
C# try, catch ,finally
class Animal { public string get() { return "Animal"; } public string set() { int i = 132; string s = "abc";原创 2011-12-05 09:23:31 · 615 阅读 · 0 评论 -
让VS2005中的fstream支持中文路径文件打开
让VS2005中的fstream支持中文路径文件打开 前几天发了这篇《用fstream对二进制文件的读写》,有朋友指出了VS2005的fstream对于中文路径支持不好的bug。我想大概是因为VS2005更加重视了对字符串的全球化支持,所以鼓励我们使用unicode编码的字符串,对于MBCS之类的支持可能就疏忽了吧。 我搜索了一下这个问题的解决,参考了如下资料写了演示代码。转载 2011-10-20 14:45:11 · 447 阅读 · 0 评论 -
mfc中 CWinApp::GetProfileInt 相关 配置文件的位置
CWinApp下有一系列读取/写入配置文件的函数这个配置文件不是自己制定路径和文件名的随意的配置文件是在特定目录下的一个配置文件 ------------------------------------win7下这个路径是:(假设登录名为###, 应用程序原创 2011-08-10 10:26:53 · 3508 阅读 · 0 评论 -
effective c++
1:never call virtual functions during construction or destruction. ctor:During base class construction of a derived class object, the原创 2011-09-18 06:01:30 · 332 阅读 · 0 评论 -
vc9 不时出现 Microsoft Incremental Linker已停止工作
vc9在win7下不时出现,Microsoft Incremental Linker已停止工作,并报错:fatal error LNK1000 Internal error during IncrBuildImage并发现在winxp下有时也会有问题,没有***Linke原创 2011-09-18 06:01:02 · 1194 阅读 · 0 评论 -
c++ const
in c++, member functions differing only in their constness can be overloaded.and a const member function is not allowed to modify any of t原创 2011-08-09 09:22:07 · 448 阅读 · 0 评论 -
cppunit1.12.1 vs2008 vc6 共存
对于cppunit.dll 和 cppunitd.dll对两个编译器都适用所以说如果不需要cppunit的mfc的对话框ui界面,那将只会用到这两个dll, cppunit只编译一份供两个编译器用没问题.关键是testrunner, testrunner下的MsDevCaller原创 2011-07-08 09:40:19 · 1276 阅读 · 0 评论 -
linux-liveUSB安装
概念说明:1:liveUSB就是这个U盘能让系统活在U盘里面.这个东西主要面向linux的,没有谁想把windows7装在u盘里吧我想.2:desktop/alternateubuntu的各个版本基本都会提供 desktop,alternate,server三个不同版本.desktop和alternate的名字比较误导人.desktop的iso文件是可以做成liveUSB原创 2011-06-11 09:48:00 · 3398 阅读 · 0 评论 -
面试题
1.链表的快排快排其实就是分而治之,局部有序,递归处理。快排的处理过程就是 通过两个指针的从前到后的先后移动,不断将比中值小的值交换到前面,将比中值大的值交换到后面,形成两个子序列,再对两个子序列递归的做同样的处理。这样来理解快排的话,就没有数据存储方式的不同,不论是list还是array,都一样。其实像这种题, a**abc**edf,把 * 移到字母前面, 就是和快排一样的原创 2013-04-27 20:58:39 · 564 阅读 · 0 评论