![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C ++
文章平均质量分 86
yangyiyq
这个作者很懒,什么都没留下…
展开
-
数据结构
数据结构一个数据结构是一组一个名称组合在一起的数据元素。这些数据元素被称为成员,可以有不同的类型和不同的长度。:数据结构,可以在C使用下面的语法声明++ 哪里是结构类型的名称,可以是具有这种结构的类型的对象了一套有效的标识符。内牙套,存在与数据成员的列表,每一个与一类和有效的标识符作为其名称指定。 例如:struct type_name {member_type1 member_n原创 2016-12-19 05:30:36 · 179 阅读 · 0 评论 -
编译器
遵循这些教程所需要的工具是一台电脑和一个编译器工具链能够编译C ++代码,并建立在其上运行的程序。C ++是一个已经太多多年来发展一种语言,这些教程解释最近添加的语言许多功能。因此,为了正确地遵循教程,需要一个最近的编译器。它应支持(即使只是部分)由2011标准中引入的功能。许多编译器厂商支持的新功能有不同程度。请参见本页面底部的已知支持所需要的功能,一些编译器。其中有些是免费的!原创 2016-12-19 05:46:23 · 204 阅读 · 0 评论 -
类(I)
类是一个扩大的概念的数据结构:类似的数据结构,它们可以包含数据成员,但是它们也可以包含作为成员。一个对象是类的一个实例。在变量而言,一个类将是类型,并且一个目的将是可变的。班使用的是关键字定义class或关键字struct,语法如下:CLASS_NAME类{ access_specifier_1: member1中; access_spe原创 2016-12-19 05:47:27 · 167 阅读 · 0 评论 -
类(II)
重载运营商类,基本上,定义新类型的C ++代码中使用。和类型在C ++不仅通过代码结构和分配方式进行交互。他们还通过运营商的方式进行交互。例如,采取基本类型如下操作:12int a, b, c;a = b + c; 这里,一个基本类型(不同的变量int)被施加在加法运算,然后赋值运算符。对于一个基本算术式,这样的原创 2016-12-19 05:49:24 · 104 阅读 · 0 评论 -
特别会员
[注:本章要求的正确理解动态分配的内存 ] 特殊的成员函数是被隐式定义为在某些情况下类成员的成员函数。有六种:成员函数类典型形式C:默认构造方法C::C();析构函数C::~C();复制构造C::C (const C&);拷贝赋值C& operator= (const C&);移动构造C原创 2016-12-19 05:50:28 · 135 阅读 · 0 评论 -
友谊和继承
好友功能原则上,一类的private和protected成员不能从它们所声明的同一类外部访问。然而,这条规则并不适用于“朋友”。朋友们都与声明的函数或类friend关键字。如果它被宣布为一个非成员函数可以访问类的private和protected成员的朋友那类。由包括在类中该外部函数的声明,并与关键字前述它做friend:1234567原创 2016-12-19 05:51:36 · 129 阅读 · 0 评论 -
多态性
得到任何深入本章之前,你应该有指针和类继承的一个正确的认识。如果你真的不知道的任何下列用语的含义,你应该检查表明部分:声明:解释了:int A::b(int c) { }类a->b数据结构class A: public B {};友谊和继承指针的基类其中一个类继承的主要特点是一个指向派生类的类型是兼原创 2016-12-19 05:52:36 · 97 阅读 · 0 评论 -
类型转换
隐式转换当值被复制到一个兼容类型的隐式转换自动执行。例如:123short a=2000;int b;b=a; 这里,值a是从提升short到int,而不需要任何显式操作者。这被称为一个标准转换。标准转换的影响基本数据类型,并允许数值类型之间的转换(short至int,int到float,double到int原创 2016-12-19 05:53:45 · 116 阅读 · 0 评论 -
例外
异常提供了一种通过将控制转到称为特殊函数来在程序特殊情况下(如运行时错误)反应处理。捕获异常,部分代码被置于异常检查。这是通过封闭的代码部分以完成试块。当一个特殊情况是块内出现,抛出一个异常,控制到异常处理程序转移。如果没有抛出异常,代码继续正常进行,所有的处理程序被忽略。一个例外是通过使用引发throw关键字从内部try块。异常处理程序声明为关键字catch,必须立即后放置try原创 2016-12-19 05:54:44 · 125 阅读 · 0 评论 -
预处理指令
预处理指令包括在(由井号前面的程序代码行#)。这些行不是程序语句,但是指令的预处理器。预处理器检查代码之前的代码的实际编译开始,并解决了所有这些指令之前,通过定期报表实际产生的任何代码。这些预处理指令只跨越一个单一的代码行延伸。只要一个换行符被发现,预处理指令是结束。别无分号(;)在预处理指令结束的预期。预处理程序指令可通过多条线路延长的唯一方法是通过一个反斜杠在该行的末尾换行符前面的(\原创 2016-12-19 05:55:29 · 458 阅读 · 0 评论 -
使用文件输入/输出
C ++提供了以下类来执行字符/来自文件的输出和输入: ofstream: Stream类文件上写ifstream: Stream类从文件中读取fstream: Stream类读取和从/写入文件。这些类被直接或间接地从类派生istream和ostream。我们已经使用的对象,其类型为这些类:cin是类的一个对象istream,并cout为类的一个对象ostream。因此,我们已原创 2016-12-19 05:56:29 · 424 阅读 · 0 评论 -
C ++语言常见问题解答
什么是C ++?C ++是一种编程语言。它的字面意思是“增加C”,以反映其性质C语言的演变。是否有必要已经知道学习C ++之前,另一种编程语言?不必要。C ++是在表达一个简单明了的语言。这是事实,用C ++编写了一段代码可以通过编程比其他一些语言更隐蔽一点的陌生人可以看出,由于大量使用特殊字符({} [] * |!...),但一旦有人知道这些字符的含义也可以是更原理图和比更依赖于英文单词等语原创 2016-12-19 05:57:35 · 154 阅读 · 0 评论 -
其他数据类型
类型别名(类型定义/使用)A型别名是一个不同的名称,通过该类型可以被识别。在C ++中,任何有效类型可以别名,以便它可以与不同的识别符来表示。在C ++中,有两种语法创建这样类型别名:第一,从C语言继承,采用typedef关键字: 其中,是任意类型的,无论是基本或化合物,并具有给定的类型的新名称的标识符。 例如:typedef existing_type new_type_na原创 2016-12-19 05:45:24 · 299 阅读 · 0 评论 -
程序的结构
学习一门编程语言,最好的办法是通过编写程序。通常情况下,第一个程序初学者写的是一个名为“Hello World”程序,它只是输出“Hello World”到你的电脑屏幕。虽然这是很简单的,它包含了所有的基本组成部分的C ++程序有:1234567// my first program in C++#include int main(){原创 2016-12-19 05:16:04 · 89 阅读 · 0 评论 -
动态内存
在前面的章节中看到的节目,所有的存储需求被定义所需的变量程序执行之前确定。但是可能存在的程序的存储器需求可以只在运行期间被确定的情况。例如,当所需要的内存取决于用户输入。在这种情况下,程序需要动态分配内存,为此,C ++语言集成了运营商new和delete。运营商新的和新的[]动态内存是使用运营商分配new。new后面是数据类型说明和,如果需要一个以上的元素的序列,这些括号内的数目原创 2016-12-19 05:29:10 · 92 阅读 · 0 评论 -
指针
在前面的章节中,变量被解释为可以通过其标识符(其名称)来访问在计算机的存储单元。通过这种方式,该程序不需要关心在存储器中的数据的物理地址; 它只是使用每当它需要参考变量的标识符。为一个C ++程序,一个计算机的存储器是像存储单元的继承,在大小每一个字节,并且每一个独特的地址。这些单字节的存储单元是有序的方式,允许数据表示大于一个字节大的占据具有连续地址的存储器单元。这种方式,每个单原创 2016-12-19 05:28:04 · 113 阅读 · 0 评论 -
字符序列
本string类在前面的章节中已经作了简要介绍。这是一个非常强大的类来处理和操作字符的字符串。然而,由于字符串是,事实上,字符序列,我们也可以代表他们作为字符类型的元素的纯阵列。例如,以下的数组: char foo [20]; 是,最多可存储类型的20元素的数组char。它可以表示为: 因此,该阵列具有原创 2016-12-19 05:26:45 · 3147 阅读 · 0 评论 -
阵列
阵列是一系列可以通过添加一个索引的唯一标识符被单独引用的同一类型放置在连续的存储单元的元件。这意味着,例如,类型的五个值int可以声明为阵列无需声明5个不同的变量(每个都有其自己的标识符)。相反,使用数组,这五个int值被存储在连续的存储单元,并且所有五个可使用相同的标识符被访问,以适当的指数。例如,含有式5的整数值的数组int称为foo:如可以表示 ,其中每个空面板表原创 2016-12-19 05:25:18 · 503 阅读 · 0 评论 -
名称的知名度
命名实体,如变量,函数和复合型需要C ++在使用前进行声明。在这个声明发生在程序的点影响其知名度:任何块之外声明实体具有全球范围内,这意味着它的名字是有效的代码的任何地方。而一个实体块内声明,如函数或选择性声明,具有阻止范围,并且仅在它被声明的特定块中可见的,但不是外面。与块作用域的变量称为局部变量。例如,在一个函数的主体声明的变量是一个局部变量延伸直到所述功能的结束(即,原创 2016-12-19 05:24:03 · 115 阅读 · 0 评论 -
重载和模板
在C ++中,两种不同的功能可以有,如果他们的参数不同,相同的名称; 或者是因为它们具有不同数目的参数,或者是因为它们的任何参数的是不同的类型。例如:12345678910111213141516171819202122// overloading functions#include using namespa原创 2016-12-19 05:22:59 · 236 阅读 · 0 评论 -
功能
功能允许结构的代码段的程序来执行各项任务。在C ++中,一个功能是一组被赋予一个名称,并且可以从节目的某一点调用语句。最常见的语法定义一个函数为: 式中: - 是函数返回值的类型。 - 是由该函数可以被调用的标识符。 - (多达需要):每个参数包含一个类型后跟的标识符,与每个参数从下用逗号分开。每个参数看起来非常像一个普通的变量声明(例如:),并且在功能作为常规变量,它是本地函数中的事实的原创 2016-12-19 05:21:27 · 106 阅读 · 0 评论 -
语句和流量控制
一个简单的C ++语句是每一个程序的各个指令,象在前面的章节中看到的变量声明和表达式。他们总是用分号(结束;),并在它们出现在程序中相同的顺序执行。但方案并不局限于陈述的线性序列。在其过程中,程序可能会重复的代码段,或采取决策和分叉。为了这个目的,C ++提供投放到指定哪些必须通过我们的程序,何时以及在何种情况下进行流量控制语句。许多在本节解释了流程控制语句都需要一个通用的(子)语原创 2016-12-19 05:19:57 · 117 阅读 · 0 评论 -
基本输入/输出
前面章节的实例中的程序提供交互很少与用户,如果任何在所有。他们只是显示在屏幕上简单的值,但该标准库提供了很多附加的方式通过其输入/输出功能的用户交互。本节将简要介绍一些最有用的。C ++使用一种称为方便抽象流在顺序介质执行输入和输出操作,如屏幕,键盘或一个文件。一个流是一个实体,其中程序可以插入或提取字符/从。没有必要知道相关联的流或任何其内部规格的媒体的信息。所有我们需要知道的是,流是字原创 2016-12-19 05:19:09 · 173 阅读 · 0 评论 -
运营商
一旦引入变量和常量,我们可以开始使用他们来操作运营。下面是运营商的一个完整列表。在这一点上,很可能没有必要知道所有这些,但它们都在此列出以兼作参考。赋值运算符(=)赋值运算符赋值给变量。 x = 5; 该语句将整数值5给变量x。赋值操作总是发生从右到左,从不周围的其他方式:原创 2016-12-19 05:18:19 · 164 阅读 · 0 评论 -
常量
文字是最明显的一种常量。它们被用来对程序的源代码内表达特定的值。我们已经使用了一些在前面的章节中给出具体的数值变量或表达的消息,我们希望我们的方案打印出来,比如,我们当时写到: a = 5; 在5这一段代码是一个常量。文字常数可分为:整数,浮点,字符,字符串,布尔,指针,和用户定义的文字。整数数词原创 2016-12-19 05:17:23 · 108 阅读 · 0 评论 -
C ++历史
C ++编程语言的历史可以追溯到1979年,当时Bjarne的Stroustrup的在做工作,为他的博士学位 论文。其中语言Stroustrup的有机会工作,是一个叫Simula的语言,它顾名思义是主要设计用于模拟一种语言。该西穆拉67语言 -这是斯特劳斯一起工作的变种-被认为是第一语言,支持面向对象的编程范式。Stroustrup的发现,这种模式是软件开发非常有用的,但是西穆拉语言是实际使用过于原创 2016-12-19 05:58:49 · 192 阅读 · 0 评论