- 博客(513)
- 收藏
- 关注
原创 iostream库的功能
1号线是一种特殊类型的声明,称为预处理器指令。预处理器指令告诉编译器执行一项特殊任务。在这种情况下,我们是告诉编译器我们想对我们的程序添加iostream头文件的内容。iostream头文件允许我们访问的iostream库的功能,这将允许我们写的屏幕。2号线是无关的,并且被编译器忽略。3行是main()功能,正如你所学到的,是强制性的。每一个程序都必须有一个main()功能
2015-04-12 11:23:31 757
原创 有效的赋值语句
x是一个声明语句。它告诉编译器,x是一个变量。你可能还记得在学校中数学变量。他们的目的是一样的:代表一个任意值。在一个程序中所有的变量都必须在声明它们的使用。我们将谈论更多关于变量不久。x = 5是一个赋值语句。它分配一个值(5)到一个变量(X)。std::cout 它输出x的值(我们设置为5在上表)到屏幕上。编译器也可以解析表达式。一个表达式是评估
2015-04-12 11:21:54 1619
原创 调用者传递的参数
12345int& DoubleValue(int nX){ int nValue = nX * 2; return nValue; // return a reference to nValue here} // nValue goes out of scope here看到这里的问题?的功能是试图返回一个参考值,将超出范围时,该函数返回。这意味着呼叫者接收
2015-01-13 14:43:07 415
原创 传递的参数的值
在前三课,你学到了传递的参数的值,参考函数,和地址。在本节中,我们将考虑返回值返回给调用者,通过所有三个方法问题。事实上,从一个函数的地址值,它的调用者返回值,或参考作品几乎完全相同的方式作为参数传递给函数做。所有相同的好处和缺点的每个方法都存在。两者之间的主要差别是,数据流的方向是相反的。然而,还有一个附加位的复杂性,因为在一个函数的局部变量超出范围当函数返回时,我们需要考虑这种效果在每
2015-01-13 14:42:11 394
原创 为该函数体
第二,任何派生类必须定义为该函数体,或将派生类是抽象基类,以及。让我们采取行动在一个纯虚函数的一个例子看看。在前一课中,我们写了一个简单的动物的基类和派生类中的一只猫和一只狗班。这里的代码我们离开这:123456789101112131415161718192021222324252627282930313233343
2015-01-03 13:41:23 389
原创 函数和抽象基类
最后,我们到达我们的旅程结束在继承!这是我们将对这个问题的最后一个话题。祝贺你们事先通过最难的语言的一部分!纯虚拟(摘要)函数和抽象基类到目前为止,所有我们所写的虚拟函数体(定义)。然而,C++允许你创建一个特殊的虚函数调用一个纯虚函数(或函数)都没有身体!纯虚函数只是作为一个占位符,是由派生类重新定义。创建一个纯虚函数,而不是定义一个函数体,我们只需指定函数值0。1
2015-01-03 13:39:32 333
原创 使用函数指针
为什么要使用函数指针?有几种情况下,函数指针可以使用。最常见的情况是你写一个函数来执行一个任务(如数组排序),但你希望用户能够定义该任务的特定部分将被执行(如数组按升序或降序排序)。让我们仔细看看这个问题,专门用于分类,例如,可以推广到其他类似的问题。所有的排序算法工作在一个类似的概念:排序算法走过一堆数字,并对数字进行比较,并基于这些比较结果的数字重新排序。因此,通过不同的比较(
2015-01-01 15:18:12 337
原创 函数指针是一个高级主题
快速的回顾始终使用括号来消除操作者优先如果有任何问题或机会的混乱。算术运算符,所有的工作就像他们在正常的数学。弹性模量(%)算子从整数除法返回余数。当心“舍入或符号错误时的整数的除法和取模操作数是负的。递增和递减运算符可以用来方便地增加或减少数。小心副作用,特别是当它涉及到函数参数的求值顺序。关系运算符可以用来比较两个浮点数。小心使用浮点数的等式和不等式。
2015-01-01 15:16:41 323
原创 面向对象编程
所有以前的教训,在这一点上有共同的一点——他们都是非面向对象的。现在你已经对这些概念的基本处理,我们可以进行面向对象编程(OOP),其中真正的回报是!在传统的编程,程序基本上都有计算机,定义数据和与该数据然后工作指令列表。数据和数据是独立的实体结合在一起,产生所需要的结果,工作功能。那么什么是面向对象编程?有很多事情,也许是通过使用一个比喻,最容易理解的。看看你的周围,到处都是对象
2015-01-01 15:11:28 371
原创 全局变量程序
在上一课中,你学到了一块有块中声明的变量范围。块范围的变量只能在块中声明它们(或嵌套的子块),并被摧毁当块结束。一块外声明的变量称为全局变量。全局变量的程序的范围,这意味着他们可以在程序中到处访问,他们只是被破坏时,程序结束。这里是声明一个全局变量的一个例子:12345678910int g_nX; // global variable int main
2015-01-01 11:27:04 250
原创 名字尚未定义
条件编译预处理指令允许您指定在什么条件下会或不会编译。唯一的条件编译指令我们将在本节盖#如果定义了,则和endif # #。#如果定义了预处理指令允许的预处理器检查值是否已预先#定义。如果是这样,如果定义了相应的编译# # endif之间的代码。如果不是的话,代码被忽略。考虑下面的代码片段:123456789#define PRINT_JOE #ifdef
2015-01-01 11:25:00 440
原创 独立运行的程序
预处理器可能是最好的思想作为一个独立运行的程序,在编译器编译程序时。它的目的是处理指令。指令是具体的指示开始与#符号和一个换行符结束(不分号)。有几种不同类型的指令,我们将盖下。预处理器是不聪明,不懂C++语法;相反,它处理文本之前,编译器会为它。包括你已经看到了包括指令#行动。#包括告诉预处理器将所包含的文件到当前文件的内容包括指令#点。这是有用的当你有信息需要被包括在多个地方(
2015-01-01 11:23:59 465
原创 学习php得个人经验
php是一门针对网站开发的语言~在我最初认识php是在大学的时候,后来我才发现php是一门热门的程序~我是一个程序的爱好者~所以我决定把php学好~我明天都在看php的代码~有些不懂的就到网上去找答案~后来有一定基础了就在网上学一些完成的程序~我希望我能够在php上有一个突破 。为了学好php我进了不少学习php的群,还认识了不少php的爱好者~在交流中学习~在学习交流~
2014-11-04 11:12:16 383
原创 平凡的变量的名称
在本教程中,我们将使用intercapped的方法,因为它更容易读(这很容易错误下划线在密集的代码块的空间)。第二,这也许是最重要的规则,让你的标识符名称实际上描述它们是什么。这是没有经验的程序员进行变量名称尽可能短的典型,是为了节省打字或因为他们图的意义是显而易见的。这是几乎总是错误的。理想的情况下,应命名的变量的一种方式,可以帮助那些不知道你的代码并能找出尽快。3个月后,当你看着你的节
2014-11-02 08:45:32 381
原创 命名一个变量
你已经穿过了这些关键词,包括int,无效,返回,使用,和命名空间。随着运营商的一组,这些关键字定义的C + +整个语言(预处理命令除外)。因为这些关键词有特殊的意义,你的思想会改变这些词的文本颜色(通常为蓝色)使它们更加明显。在你做这个教程的时候,你会明白所有这些话!标识符,和他们的名字一个变量,函数,类的名称,或在C + +其他实体被称为一个标识符。C + +为您提供了很
2014-11-02 08:44:49 359
原创 讨论的基本类型
整数类型,有更多的可表示的值意味着他们可以代表值的范围更大;例如,一个16位无符号整数可以在范围0到65535代表65536个不同的值,而它的签署副本将可以表示,在大多数情况下,32768和32767之间的值。注意积极的值的范围是约一半有符号类型相比,无符号类型,由于这样的事实,一个16位用于标志;这是范围相对温和的差异,很少是无符号类型,使用基于纯粹的阳性值范围可以代表。浮点类型
2014-11-02 08:44:05 463
原创 相同的内存量
变量的值存储在计算机内存中未指定的位置为0和1的地方。我们的程序不需要知道确切的位置的变量存储在哪里;它可以简单地把它的名字。是什么程序需要注意的是存储在变量的数据类型。一个简单的整数的存储是存储一个字母或一个大的浮点数是不一样的;虽然他们都用0和1表示,他们并不在同一个解释,在许多情况下,他们不占用相同的内存量。*某些整数类型名称可以缩写没有他们的签名和int部分只有部分不需要确定型
2014-11-02 08:42:54 350
原创 绝不能以数字开头
一个有效的标识符是一个序列的一个或多个字母,数字,或下划线字符(_)。空格,标点符号,和符号不能作为标识符的一部分。此外,必须以字母开头的标识符。他们也开始用下划线字符(_),但这样的标识符,在大多数情况下是保留给编译器特定的关键词或外部标识符,以及含有两个连续的下划线字符的任何标识符。绝不能以数字开头。C + +中使用了大量的关键词识别操作和数据描述;因此,由程序员不能创建的标识符匹配这
2014-11-02 08:42:26 643
原创 有效的C++标识符
有用的“Hello World”一章中所示程序是值得怀疑的。我们不得不写几行代码,编译它们,然后执行相应的程序,只是为了获取屏幕上写一句简单的结果。它肯定会输入输出语句自己快得多。然而,规划并不仅限于简单的文本在屏幕上打印。为了继续深造,成为能写,执行有用的任务是拯救我们的工作程序,我们需要引入变量的概念。让我们想象一下,我请你记住5这个数字,然后我请你也记住数字2在同一时间。你已
2014-11-02 08:41:02 1899
原创 运营商在C + +
12345678910111213141516#include int main(){ using namespace std; cout << "bool:\t\t" << sizeof(bool) << " bytes" << endl; cout << "char:\t\t" << sizeof(char) << " bytes
2014-10-31 12:17:49 433
原创 类型的内存量
当你学会了在课上基本解决,对现代机器内存通常被组织成字节大小的块,每个块具有一个唯一的地址。在这一点上,它是有用的认为记忆是一束分支或邮箱里我们可以把和检索信息,和变量的访问这些分支或邮箱名称。然而,一方面,大多数变量实际上采取了超过1字节的内存这样的比喻是不正确的。因此,一个单一的变量可以用2,4,甚至8个连续的内存地址。一个变量的使用是基于它的数据类型的内存量。幸运的是,因为我们通常访
2014-10-31 12:15:22 354
原创 很好的理由使用
123456789101112131415161718192021222324// declare global variableint g_nMode = 1; void doSomething(){ g_nMode = 2;} int main(){ g_nMode = 1; doSomething()
2014-10-29 23:47:00 317
原创 全局变量是邪恶的
一般来说,如果一个全局变量将被使用在超过2的文件,最好使用头文件的方法。一些程序员把程序的全局变量在一个名为globals.cpp,并创建一个名为全局的头文件。H须包括由其他。cpp文件,需要使用。同名的局部变量与全局变量隐藏在那块全局变量。然而,全球范围的操作符(::)可以用来告诉编译器你指的是国际版:|123456789int nValue = 5; int
2014-10-29 23:45:17 670
原创 有计划的范围
在上一课中,你学到了一块有块中声明的变量范围。块范围变量只能在块中声明它们(或一个嵌套的子块),并被摧毁当块结束。一块外声明的变量称为全局变量。全局变量都有计划的范围,这意味着他们可以在程序中到处访问,他们只是被破坏时,程序结束。这里是声明一个全局变量的一个例子:12345678910int g_nX; // global variable int ma
2014-10-29 23:43:49 296
原创 大小在编译的时候
所有的变量使用到这一点,在本教程中有一个共同点:该变量必须先声明在编译的时候。这导致了两个问题:第一,很难有条件地声明一个变量,把它在一个if语句块之外(在这种情况下,它会超出范围时,块的结束)。第二,所有数组的大小必须决定在运行程序之前。例如,以下是不合法的:
2014-10-29 16:47:57 359
原创 已完成的评价功能
在第三行,X和Y是递增/递减之前,他们的评价,因此他们的新值打印的法院。在第五行,一个原始值的临时副本(X = 6,Y = 4)发送至cout,然后原来的X和Y的递增。这就是为什么从后缀运算符的变化不出现,直到下一行。副作用一个副作用是由于一个运算符,表达式,语句,或函数后仍然算子,表达,陈述,或已完成的评价功能。副作用可能是有用的:12int x = 5;i
2014-10-29 16:27:57 416
原创 从我们的工作。
当你学会了在课上基本解决,对现代机器内存通常被组织成字节大小的块,每个块具有一个唯一的地址。在这一点上,它是有用的认为记忆是一束分支或邮箱里我们可以把和检索信息,和变量的访问这些分支或邮箱名称。然而,一方面,大多数变量实际上采取了超过1字节的内存这样的比喻是不正确的。因此,一个单一的变量可以用2,4,甚至8个连续的内存地址。一个变量的使用是基于它的数据类型的内存量。幸运的是,因为我们通常访
2014-10-29 14:46:03 349
原创 局部变量的类型
在这种情况下,我们用T为模板形参的名字,而不是一些形式。它没有差别,和T是一个泛型类型比较常见的模板参数名称。在上面的例子中,我们使用函数模板的总和的两倍。用int类型的参数的第一时间,并与双变量的二个类型。编译器实例化并称为每一次函数的适当版本。注意如何还用来声明的局部变量的类型中的总和(通用):123456789101112131415161
2014-10-29 14:42:47 858
原创 具有相同的身体
在这里,和超负荷的不同的参数类型,但具有相同的身体。sum函数可以被重载了很多类型,它可以使所有的人都有同样的身体。在这样的情况下,C + +和泛型类型定义功能的能力,称为函数模板。定义函数模板遵循相同的语法比普通的功能,但它在模板的关键字和一系列的模板参数括在尖括号:模板模板参数>函数声明模板参数是以逗号分隔的一系列参数。这些参数可以通用的模板类型通过指定的类或typen
2014-10-29 14:42:08 396
原创 具有相同的名称
在这个例子中,有两个函数调用操作,但其中有两个int类型的参数,而其他人型双。编译器知道哪一个要求在每一种情况下,通过检查的类型作为参数传递函数被调用时。如果它被称为两个int参数,它调用的函数有两个int参数,如果它被称为两倍,它调用一个两倍。在这个例子中,两种功能都相当不同的行为,该版本将其参数相乘,而双版分。这是通常不是一个好主意。两个函数具有相同的名称,通常会有至少一个类似的行为,
2014-10-29 14:41:30 464
原创 们控制的事
当我们编译一个程序和一些错误发生在编译过程中,编译器显示的地方发生的错误和线号文件的名称引用错误信息,所以很容易找到的代码生成错误。该#线指令允许我们控制的事,行内的数字代码文件以及我们想要的文件名时出现一个错误发生。它的格式是:#线数的“文件名”那里有多少是新的行数将被分配到下一行代码。连续线的线数将增加一个一个的从这一点上。“文件名”是一个可选的参数,允许定义文
2014-10-29 11:49:33 315
原创 宏观表达式
在这种情况下,如果在到达这段代码,该table_size宏尚未被定义,它可以被定义为一个值100。如果它已经存在,它将保持其先前的值自#指令不被执行的。如果其他的#,# # elif(即,“如果”)指令用来指定要满足对部分代码进行编译一些条件所包围。条件如下#如果或# elif只能计算常量表达式,包括宏观表达式。例如:
2014-10-29 11:48:22 423
原创 在替换序列
功能宏定义接受两个特殊运算符(#和# #)在替换序列:如果操作者#之前使用的参数是用于替换序列,参数是由一个字符串替换(如果它是包含在双引号)#define str(x) #xcout << str(test);
2014-10-29 11:38:54 415
原创 定期生成报表
预处理器指令线包含在编码之前的哈希签名方案(#)。这些线是不是程序语句但对预处理指令。预处理器的汇编代码检查代码的实际开始之前解决所有这些指令之前的任何代码实际上是通过定期生成报表。这些预处理器指令扩展只在一个单一的代码行。一旦遇到一个换行符,预处理器指令结束。没有分号(;)预计将在预处理器指令结束。预处理器指令可以通过多个行的唯一方法是前面的换行符结束时的线由一个反斜杠(\)。
2014-10-29 11:37:20 511
原创 类型的新变量
T是泛型类型是指定关键字class或关键字typename在模板参数列表中没有差异(他们是100%个同义词在模板声明)。在上面的代码中,宣布一些形式(在方括号中的模板参数的泛型)允许一些形式被用在函数定义的任何地方,就像任何其他类型;它可以作为参数类型,返回类型,或声明该类型的新变量。在所有的情况下,它代表了一个泛型类型将确定在矩模板实例化。实例化一个模板应用该模板使用特定类型或值
2014-10-29 09:59:43 367
原创 模板模板参数
234567891011121314151617181920// overloaded functions#include using namespace std;int sum (int a, int b){ return a+b;}double sum (double a, double b){ return a+b;}in
2014-10-29 09:57:17 293
原创 返回类型重载
在C++中,两个不同的功能,如果他们有相同名称的参数是不同的;或者是因为他们有不同的参数个数,或者因为他们的任何参数有不同的类型。例如:
2014-10-29 09:55:02 391
原创 预定的模板匹配
请注意,此代码并不是完美的:用户可以说他们的名字是“ASF W jweo标迪我们岙”或其他一些胡言乱语,甚至更糟,只是一堆空间。我们可以稍微的精炼我们的验证标准只接受,至少包含一个字符,最多一个空字符串地址本。现在让我们来看看另一个例子,我们将要求用户输入自己的电话号码。不同的用户的名字,这是可变长度的,其中验证标准是相同的每一个字,一个电话号码是一个固定长度的但有效标准,根据不同的字符的
2014-10-29 00:01:22 395
原创 许多有用的功能
请注意,这个程序是预期的用户输入一个整数。然而,如果用户输入非数字数据,如“亚历克斯”,CIN将无法提取任何管理,并将设置failbit。如果发生了一个错误,一个流将比其他任何goodbit,对该流将被忽略,进一步的操作流。这种情况可以通过调用clear()功能清除。输入验证输入验证是检查用户是否输入满足一定的标准过程。输入验证一般可以分为两种类型:字符串和数字。字
2014-10-29 00:00:47 423
原创 价值流中提取
注意:> >算子遍历字符串——每次连续使用> >返回下一个价值流中提取的。另一方面,str()返回流的整体价值,即使> >已应用于流。数字和字符串之间的转换由于插入和提取经营者知道如何与所有的基本数据类型的工作,我们可以使用它们来将字符串转换成数字或反之亦然。首先,让我们看一看数字转换成一个字符串:12345678910stringstream os
2014-10-28 23:59:48 344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人