
C++
文章平均质量分 62
上善若水_ww
自求我道
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 虚函数表解析
http://www.cnblogs.com/CoolJie/archive/2013/03/04/2942830.html前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码转载 2013-07-10 20:56:45 · 840 阅读 · 0 评论 -
#ifdef __cplusplus
#ifdef __cplusplus 倒底是什么意思?时常在cpp的代码之中看到这样的代码:#ifdef __cplusplus extern "C" { #endif//一段代码#ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代转载 2013-08-14 09:06:38 · 853 阅读 · 0 评论 -
in<<, cin.get,cin.getline等函数深入分析
很多初学者都认为cin函数是一个很简单的函数,其实不然!cin函数有很多需要了解的知识(比如:cin的返回值是什么,cin提供了哪些成员函数且分别是什么作用,如cin.clear(),cin.ignore(), cin.fail(), cin.good()等等),如果没有很好的掌握,在使用的时候很可能会出问题却不知其原因!而且很多人也确确实实遇到过不少问题,以下是几个简单的例子:程序转载 2014-03-14 17:47:15 · 783 阅读 · 0 评论 -
C++ 中变量的定义与声明区别
变量定义与声明的区别(转载)我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下: 变量的声明有两种情况: (1) 一种是需要建立存储空间的(定义、声明)。例如:int a在声明的时候就已经建立了存储空间。 (2) 另一种是不需要建立存转载 2014-03-18 14:17:50 · 1071 阅读 · 0 评论 -
C语言中的static
C语言编程中static变量详解2012-05-03 00:00中国IT实验室佚名关键字:C语言 Static翻译出来是“静态”“静止”的意思,在C语言中的意思其实和它的本意差不多,表示“静态”或者“全局”的意思,用来修饰变量和函数。经static修饰过后的变量或者函数的作用域或者存储域会发生变化,而由static修转载 2014-03-19 16:12:35 · 1040 阅读 · 0 评论 -
C/C++ 中重要的概念和注意点。
C/C++文件类型:1,头文件.h,2, 源代码文件.CPP/.C 1, .h头文件一般包含以下内容: a, 明显常量-------例如,典型的stdio.h文件定义EOF, NULL,和BUFSIZE。 b, 宏函数---------例如,getchar()通常被定义为getc(stdin), get() 通常被定义为较复杂的宏,而头文件ctype.h通常包含ctype函数的定义原创 2014-03-19 13:09:17 · 1557 阅读 · 0 评论 -
C++ 的预编译解释
本节知识点:1.编译过程的简介: 预编译:a.处理所有的注释,以空格代替。b.将所以#define删除,并展开所有的宏定义,字符串替换。c.处理条件编译指令#if,#ifdef,#elif,#else,#endifd.处理#include,并展开被包含的文件,把头文件中的声明,全部拷贝到文件中。e.保留编译器需要使用的#pragm转载 2014-03-18 14:02:42 · 1850 阅读 · 0 评论 -
C 语言编译过程总结详解
C语言编译过程总结详解从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。编译过程编译过程又可以分成两个阶段:编译和会汇编。编译编译是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,源文件的编译过程包含两1个主要阶段:第一个阶段转载 2014-03-19 09:07:33 · 1185 阅读 · 0 评论 -
C存储类型符和类型限定符
C存储类型和类型限定符(刘爱贵 - Aiguille.LIU) C存储类分为两类:自动存储类(automatic)和静态存储类(static)。声明对象时使用的存储类说明符以及声明的上下文共同决定了对象的存储类。 自动存储类对象对于一个程序块来说是局部的,在退出程序块时该对象将消失。 (1) 如果没有使用存储类说明符,或者如转载 2014-03-19 14:58:33 · 1969 阅读 · 0 评论 -
C++缓冲区的理解
什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区我们为什么要引入缓冲区呢?比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲转载 2013-08-13 09:31:45 · 1065 阅读 · 0 评论 -
C++类型转换
dynamic_cast (expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static_cast一样,dynamic_cast的转换也需要目标类型和源对象有一定的关系:继转载 2013-07-23 09:32:28 · 908 阅读 · 0 评论 -
c++基类成员在派生类中的访问控制
公用继承:基类成员保持自己的访问级别;受保护继承:基类的public和protected成员在派生类中为protected成员私有继承:基类的所有成员在派生类中为private成员。接口继承与实现继承;public派生类继承基类的接口,它具有与基类相同的接口。涉及良好的类层次中,public派生类的对象可以用在任何需要基类对象的地方。使用private或protecte原创 2013-07-12 00:24:34 · 2566 阅读 · 0 评论 -
初学c++ 错误信息解释与解决
1,non-const static data member must be initialized out of line 解释:非const的静态值初始化必须在类外。正确的写法:#includeint static i = 0;class Base{}/*******************************************************原创 2013-07-12 18:19:04 · 21186 阅读 · 0 评论 -
c++ 初学 构造函数和复制控制
每个派生类对象有派生类中定义的(非static)成员加上一个或多个基类子对象构成,这一事实影响这派生类对象构造,复制,赋值和撤销。当构造,复制,赋值和撤销派生类对象时,也会构造复制,赋值和撤销这些基类子对象。构造函数和复制控制成员不能继承,每个类定义自己的构造函数和复制控制成员。像任何类一样,如果不定义自己的默认构造函数和复制控制船员,就将使用合成版本。原创 2013-07-13 21:27:41 · 938 阅读 · 0 评论 -
c++ 初学 派生类到基类转换的可访问性
派生类到基类的转换,如果是public继承则可以转换,如果是protected和private则不可以完成转换Base &b = s; //errorclass Son :private Base{}Base &b = s; // error;Base b = s; // error;原创 2013-07-13 20:55:53 · 970 阅读 · 0 评论 -
C++初学,泛型算法 一
泛型算法: generic algorithm泛型算法永不执行容器提供的操作 泛型算法本身不执行容器操作,只是单独以来迭代器和迭代器操作实现。算法基于迭代器机器操作实现,而不是基于容器操作。本质上暗示了:使用“普通”的迭代器时,算法从不修改基础容器的大小。正如我们看到的,算法也许会改变存储在容器中的元素的值,也许会在容器内移动元素,但是,算法从来不直接添加或删除元素。使用泛型算原创 2013-07-17 15:45:57 · 1709 阅读 · 0 评论 -
C++ Deprecated conversion from string literal to 'char*'
stack overflow 相关解释。http://stackoverflow.com/questions/9650058/deprecated-conversion-from-string-literal-to-charhttp://stackoverflow.com/questions/13690306/conversion-from-string-literal-to-char-i原创 2013-07-17 17:07:56 · 2120 阅读 · 0 评论 -
C++ 迭代器, iterator
转载:http://hi.baidu.com/xmuwubo/item/819749f76ba88617d6ff8c7a各类iterator 迭代器详解STL设计的精髓在于,把容器(Containers)和算法(Algorithms)分开,彼此独立设计,最后再用迭代器(Iterator)把他们粘合在一起。可见迭代器在STL中的重要程度。迭代器已经作为一种设计思想被记录与转载 2013-07-19 10:04:19 · 3093 阅读 · 1 评论 -
C/C++ inline关键字
inline:1, 首先,inline关键字只是建议编译器将内联展开编译,而不是强制。(如果通过函数指针调用和递归调用则会为inline函数生成独立汇编码,并分配地址) 2, inline标示的函数具有内部链接性,多个文件不会共享,只会保留副本。C++语言inline详细讲解1, c语言inline 无法外部访问,即便包含了有inline函数的头文件。c++inli转载 2014-03-20 10:32:51 · 2908 阅读 · 0 评论