作者:zyl910 以前我曾为了让VC++等编译器支持C99的整数类型,便编写了c99int库来智能处理(http://www.cnblogs.com/zyl910/p/c99int_v102.html).如今为了兼容Turbo C++ 3等DOS下的编译器,做了重大改变,不再适合沿用旧名,于是采用了zlstdint这个新名. 一.用法简介 用法很简单——把z_stdint.h.z_inttyp.h这2个文件放到你的项目中,便可以正常的使用C99整数类型及相关的宏了. 范例代码—— #defin…
新版本—— http://www.cnblogs.com/zyl910/p/zlstdint_v100.html[C] zlstdint(让VC.TC等编译器自动兼容C99的整数类型)V1.0.支持Turbo C++ 3等DOS下的编译器 作者:zyl910 一.改动简介 V1.02版的改动如下—— 将源码上传到github. 调整目录结构. 添加CMake编译配置文件. 使用doxygen规范注释. 修正 __AUTO_STDINT_H_USESYS 误为 _INTTYPES_H_SYS_ 的…
为驳回编译器自动提供的功能,可将相应的成员函数声明为private并且不予实现. 使用像Uncopyable这样的base class也是一种做法(即先声明一个基类,然后私有继承它).这其实有点像使用Boost提供的版本,那个class名为noncopyable.…
Effective C++ chapter 2. 构造 / 析构 / 赋值运算 (Constructors, Destructors, and Assignment Operators) Item 6. 若不想使用编译器自动生成的函数,就该明确拒绝 (Explicitly disallow the use of compiler-generated functions you do not want) 地产中介商卖的是房子,一个中介软件系统自然而然想必有个 class 用来描述待售房屋: cla…
一.为驳回编译器自动提供的机能,可将相应成员函数声明为private并且不予实现.(如果你仅仅是自己不实现的话,编译器会帮你实现) 如: class A { public: A(const string& name):m_name(name) {} private: //拒绝copy和赋值,声明为private,并且只声明不实现 A(const A&); A& operator=(const A&); private: string m_name; }; 二.对于拒绝赋值的…
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 通常如果你不希望class支持某一特定机能,只要不声明对应函数就是了.但这个策略对copy构造函数和copy assignment操作符却不起作用,你如果不声明它们,而某些人尝试调用它,编译器会为你声明它们. 这把你逼到了一个困境.如果你不声明copy构造函数和copy assignment操作符,编译器可能为你产出一份,于是你的clas支持copying.如果…
C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码   参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisuibianbian/archive/2005/12/12/550260.aspx VC采集网页所有表单域http://blog.csdn.net/fjssharpsword/archive/2010/12/17/6081689.aspx 说说这类软件最常见的使用方式吧. 也许你经常看到有人发布了以下…
//############################################################################ /* * 不让编译器自动生成类函数 * * * * 并不是所有的类都需要编译器自动生成类函数 * * 例: 一个"OpenFile" 类表示一个被打开的文件.构造函数至少需要一个文件名作为参数 * 所有不需要默认构造函数 */ 那么如何让编译不自动生成函数 /* * 对于C++ 11: */ class dog { public:…
规则一 将成员函数声明为private而且故意不实现他们 class HomeForSale { public: ... private: ... HomeForSale(const HomeForSale&); // 只有声明 HomeForSale& operator=(const HomwForSale&); // 只有声明 } 有的时候为了阻止copy构造函数或者copy assignment操作符,可以将他们声明为private,但是这个做法不绝对安全,因为member函…
class HomeForSale //防止别人拷贝方法一:将相应的成员函数声明为private并且不予实现 { public: private: HomeForSale(const HomeForSale&); HomeForSale& operator = (const HomeForSale&);//只有申明,此函数很少被使用   };   //方法二,设计一个专门用来阻止copying动作的基类,然后让其他类继承这个类即可   class Uncopyable { prot…