
C++
csxcoder
To be or not to be !
展开
-
C++ 中的“ !” 运算
在介绍“ !”运算之前,我们要知道一个变量n,如果n>0,那么我们可以在逻辑上叫它“真”,如果nn为真时,!n就为假(false),转换为整型值即为0;n为假时,!n就是真(true),转换为整型值即为1;看起来很简单,但是“ !” 运算有一个重要的用处,就是可以把任意的数转换成0或1,下面举一个例子:int n = 7 ;// 初始值!n 等于 0 ;!!n 等于 1 ;原创 2015-03-23 10:05:22 · 7622 阅读 · 1 评论 -
纯虚函数
纯虚函数是一种特殊的虚函数,它的一般格式如下:class {virtual ()=0;…};在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。纯虚函数可以让类先具有一个操作名称,而没有操作内容,让派生类在继承时再去具体地给出定义。凡是含有纯虚函数的类叫做抽象类。这种类不能声明对象,只是作为基类原创 2015-03-23 10:03:11 · 323 阅读 · 0 评论 -
'\0'
'\0'是C++中字符串的结尾标志,存储在字符串的结尾。比如char cha[5]表示可以放4个字符的数组,由于c/c++中规定字符串的结尾标志为'\0',它虽然不计入串长,但要占内存空间,而一个汉字一般用两个字节表示,且c/c++中如一个数组cha[5],有5个变量,分别是 cha[0] , cha[1] , cha[2] , cha[3] , cha[4] , 所以cha[5]可以放4个字原创 2015-03-23 10:04:33 · 352 阅读 · 0 评论 -
对 const char* const &a 的理解
定义中用到&是独立引用.比如:char i;char &a=i;表示a是i的一个单独引用.当有i='a'时,也有a='a';当有a='c'时,也有i='c';两个变量的标示符都代表同一个内存空间地址.声明中带有const时,表示为常量.对const char* const &a=i从右读起const &a表示a为常量,一开始要对其赋值,这里赋予i,表示a原创 2015-03-23 10:02:29 · 453 阅读 · 0 评论 -
包含min函数的栈
定义栈的数据结构,在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min , push , pop 的时间复杂度都是O(1)。 1 /////////////////包含min函数的栈/////////////////////// 2 templateclass T> class StackWithMin 3 { 4 public: 5 void原创 2015-03-23 10:03:20 · 225 阅读 · 0 评论 -
公有权限,私有权限,保护权限
权限其实就是对类成员的可访问性。1.公有成员类可以访问,类对象可以访问,通过公有继承的派生类可以访问,通过私有继承的派生类可以访问,通过保护继承的派生类可以访问,通过公有继承的派生类的对象可以访问,通过私有继承的派生类的对象不可以访问,通过保护继承的派生类的对象不可以访问。2.私有成员类可以访问,类对象不可以访问,通过公有继承的派生类不可以访问,通过私有继承的派生类不可以访问,通过保护继承的派生类原创 2015-03-23 10:03:37 · 1436 阅读 · 0 评论 -
引用总结
引用总结 (1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。 (2)用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。 (3)引用与指针的区别是,指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程原创 2015-03-23 10:03:48 · 250 阅读 · 0 评论 -
set,multiset容器类型
set和multiset会根据特定的排序准则,自动将元素排序。两者不同处在于multiset允许元素重复而set不允许。一、集和多集(set 和multiset 容器类)在使用set和multiset之前,先必须包含头文件#include 在其中,set和multiset被定义为命名空间std内的class template: 1 namespace std { 2原创 2015-03-23 10:04:02 · 322 阅读 · 0 评论 -
C++中 _itoa_s方法简介
_itoa_s 函数原型如下:1 _itoa_s2 (3 int value,4 char *buffer,5 size_t sizeInCharacters, //存放结果的字符数组长度6 int radix //进制7 );使用如下: 1 const int g_MaxNumberLength = 10 ;//数原创 2015-03-23 10:04:16 · 1279 阅读 · 0 评论 -
构造函数为什么不能是虚函数 ( 转载自C/C++程序员之家)
从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是要初始化实例原创 2015-03-23 10:05:08 · 516 阅读 · 0 评论 -
C# Mutex对象的使用
这里我们主要介绍C# Mutex对象,包括介绍控制好多个线程相互之间的联系等方面。转载 2015-09-23 17:26:18 · 371 阅读 · 0 评论