
C++
文章平均质量分 75
撒哈拉之心23
南七技校
展开
-
C++ 类的静态成员详细讲解
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。 在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静转载 2016-05-12 20:35:10 · 361 阅读 · 0 评论 -
C++派生访问控制说明符
访问说明符(public,protected,private)类型: 类成员访问说明符 继承访问说明符 继承访问说明符说明了派生类中基类部分成员的继承方式。 (1)通过public继承:派生类中基类部分成员的访问说明符在基类中为public或protected的,在派生类中类型保持不变,private的成员不可访问。 (2)通过prot转载 2016-07-05 23:21:22 · 1025 阅读 · 0 评论 -
[C/C++]#ifndef,#define用法
文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的: #ifndef #define转载 2016-06-20 21:11:53 · 1199 阅读 · 0 评论 -
成员函数,非成员函数和友元函数
转自:http://blog.chinaunix.net/uid-10673338-id-2936852.html成员函数和非成员函数最大的区别在于成员函数可以是虚拟的而非成员函数不行。所以,如果有个函数必须进行动态绑定(见条款38),就要采用虚拟函数,而虚拟函数必定是某个类的成员函数。关于这一点就这么简单。如果函数不必是虚拟的,情况就稍微复杂一点。看下面表示有理数的一个类:转载 2016-06-21 10:02:48 · 387 阅读 · 0 评论 -
C++ 关于声明,定义,类的定义,头文件作用,内、外链接
C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元.txt1. 编译单元,一个.cc,或.cpp作为一个编译单元.生成.o2. 普通数据类型的定义,声明,函数的定义声明(类函数是一样的) extern int x; //变量是声明,并未实际分配地址,未产生实际目标代码 void pri转载 2016-07-07 15:47:29 · 1953 阅读 · 0 评论 -
C++ 中四种cast比较(转载)
C++中的Cast引言在一次看More Effective C++中,有一节提到了《Prefer C++-Style Casts》。其中列举许多C++ Cast的一些好处,当然这些都是相对于C语言中的强制转换这类而言的。所以首先来了解C++中的Cast。一、Dynamic_Cast我们从适用范围来了解这个操作。转载 2016-07-19 22:10:43 · 4803 阅读 · 0 评论 -
C++中union用法总结
http://www.jellythink.com/archives/468转载 2016-07-20 10:08:14 · 499 阅读 · 0 评论 -
C++中的static关键字的总结
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include转载 2016-07-20 11:04:31 · 263 阅读 · 0 评论 -
二叉树
https://passport.youkuaiyun.com/?service=http://write.blog.youkuaiyun.com/postedit?ref=toolbar转载 2016-07-21 15:56:10 · 223 阅读 · 0 评论 -
C枚举类型的使用方法
http://sharep.blog.51cto.com/539048/1143011. 枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表 };在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。例如: 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。2. 枚举变转载 2016-08-30 19:25:10 · 330 阅读 · 0 评论 -
typedef struct和struct定义结构体的区别
结构也是一种数据类型, 可以使用结构变量, 因此, 像其它类型的变量一样, 在使用结构变量时要先对其定义。定义结构变量的一般格式为: struct 结构名{ 类型 变量名; 类型 变量名; ...} 结构变量;结构名是结构的标识符不是变量名。另一种常用格式为:typedef struct 结构名{转载 2016-08-31 09:43:36 · 1056 阅读 · 0 评论 -
左值、右值与右值引用
转自:http://book.2cto.com/201306/25366.html在C语言中,我们常常会提起左值(lvalue)、右值(rvalue)这样的称呼。而在编译程序时,编译器有时也会在报出的错误信息中会包含左值、右值的说法。不过左值、右值通常不是通过一个严谨的定义而为人所知的,大多数时候左右值的定义与其判别方法是一体的。一个最为典型的判别方法就是,在赋值表达式中,出现在等号左边的转载 2016-06-24 16:11:26 · 365 阅读 · 0 评论 -
拷贝构造函数详解http://blog.chinaunix.net/uid-21411227-id-1826742.html
1.什么是拷贝构造函数:CA(const CA& C)就是我们自定义的拷贝构造函数。可见,拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它的唯一的一个参数是本类型的一个引用变量,该参数是const类型,不可变的。例如:类X的拷贝构造函数的形式为X(X& x)。 当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说转载 2016-05-20 21:32:06 · 373 阅读 · 0 评论 -
C++ auto_ptr智能指针的用法
C++ auto_ptr智能指针的用法 http://blog.youkuaiyun.com/monkey_d_meng/article/details/5901392C++中指针申请和释放内存通常采用的方式是new和delete。然而标准C++中还有一个强大的模版类就是auto_ptr,它可以在你不用的时候自动帮你释放内存。下面简单说一下用法。[cpp] view plain cop转载 2016-05-12 19:43:07 · 254 阅读 · 0 评论 -
用 _findfirst 和 _findnext 查找文件
一、这两个函数均在io.h里面。二、首先了解一下一个文件结构体:struct _finddata_t { unsigned attrib; time_t time_create; time_t time_access; time_t time_write; _fsize_t size转载 2016-05-11 20:24:42 · 4544 阅读 · 0 评论 -
=函数指针
我们都知道,数组名就是指向数组第一个元素的常量指针(详见《数组拾遗》)。同理,对于一个函数而言,函数名也是指向函数第一条指令的常量指针。而编译器要做的就是在程序编译之后,为每个函数分配一个首地址,即该函数第一条指令的地址。一般情况下,我们可以用一个指针来保存这个地址,而这个指针就是函数指针,该指针可以看作是它指向函数的别名,所以我们可以用该指针来调用这个函数。===============转载 2016-05-09 22:50:03 · 469 阅读 · 0 评论 -
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?----转
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该转载 2016-05-07 22:33:48 · 307 阅读 · 0 评论 -
c++中getopt和getopt_long的使用方法
getopt(分析命令行参数) 相关函数 表头文件 #include 定义函数 int getopt(int argc,char * const argv[ ],const char * optstring); extern char *optarg; extern int optind, opterr, optopt; 函数说明 getopt()用来分析命令行转载 2016-05-06 14:47:37 · 3960 阅读 · 1 评论 -
C++中引用类型
【 以下文字转载自 VBnBasic 讨论区 】【 原文由 阿蓉 所发表 】 c++比起c来除了多了类类型外还多出一种类型:引用。这个东西变量不象变量,指针不象指针,我以前对它不太懂,看程序时碰到引用都稀里糊涂蒙过去。最近把引用好好地揣摩了一番,小有收获,特公之于社区,让初学者们共享。 引用指的是对一个对象的引用。那么什么是对象?在c++中狭义的对象指的是转载 2016-05-05 20:39:52 · 411 阅读 · 0 评论 -
泛型算法 (输入输出迭代器和算法综合介绍)
转自:http://www.cnblogs.com/wanghetao/archive/2012/07/17/2596491.html标准库容器定义的操作非常少。标准库没有给容器添加大量的功能函数,而是选择提供一组算法,这些算法大都不依赖特定的容器类型,是“泛型”的,可作用在不同类型的容器和不同类型的元素上。考虑下面的例子,可以使用 accumulate 把 string 型的 v转载 2016-05-16 11:13:28 · 634 阅读 · 0 评论 -
递归
http://www.cnblogs.com/BLoodMaster/archive/2010/03/23/1692641.html编程里面估计最让人摸不着头脑的基本算法就是递归了。很多时候我们看明白一个复杂的递归都有点费时间,尤其对模型所描述的问题概念不清的时候,想要自己设计一个递归那么就更是有难度了。今天我也花费了半个小时来搞明白二叉树的平衡性的递归模型,首先我不明白什么叫做平衡性转载 2016-05-15 20:29:10 · 321 阅读 · 0 评论 -
vector容器类型及初始化方法
C++ vector容器类型及初始化方法http://www.cnblogs.com/charley_yang/archive/2010/1看到一篇很好的学习的vector虚容器的博文,分享给大家,感谢博主,对我帮助很大!!vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分转载 2016-05-17 22:27:52 · 671 阅读 · 0 评论 -
默认构造函数
http://www.cnblogs.com/QG-whz/p/4676481.htmlC++ 合成默认构造函数的真相阅读目录正文2.基类带有默认构造函数的派生类。3. 带有虚函数的类 4.带有虚基类的类什么是默认构造函数?默认构造函数什么时候被调用?理解“被需要”这三个字 何时默认构造函数才会被编译器需要?总结 正转载 2016-08-24 20:35:33 · 540 阅读 · 0 评论