对于C++而言,是一种无格式的语言,编译器会忽略所有的空格,回车标记,换行符等等,并把所有这些统称为空白。
C++语言区分大小写!
然后我们来说说标示符的命名,首先,那些基本的概念要有哦;第二,最好不要以下划线开头;第三,不要以跟关键字相近的名字命名,比如INT,Return等等。
然后程序的步骤,编辑,编译,链接,运行和测试。
注意:系统库和类库经常有很多的.obj文件,处理一个项目的所有库目标文件是一件繁重的工作,所以通常将.obj文件合并到.lib库文件中,以求方便。
再是,通过一个WIN32项目建立一个helloworld程序,
#include<iostream>
using namespace std;
int main()
{
cout<<""HelloWorld!";
cin.ignore();//暂停执行的代码,避免运行之后结果闪一下就没了的问题
return 0;
}
由于C++语言没有格式,所以程序员可以使用制表符或空格缩进作为组织程序布局的方式。代码块中的语句,如for循环或if语句,通常采取缩进方式(通常缩进4个字符)。这样一来,程序员可以更快地识别程序块中的内容。
关于对待警告的问题:应该把警告看作是错误,换句话说,应该将他们排除掉,警告的存在是有缘由的,它们的存在标志着代码中确实有错误。
变量是内存中暂时存储程序所用数据的位置。
类型系统:
变量命名注意:避免使用这样的标示符:以两条下划线开头,或在下划线后紧跟一个大写字母(例如:_A)。因为微软使用以上的命名的方法来指定宏和微软专用的关键字,所以在变量开头使用这些组合可能导致名称冲突。
指针的用处:首先,指针是将参数传递给函数的主要方式之一。参数通常以值的方式进行传递,此值只是一个副本,所以不能对值进行修改,也不能希望让它返回到调用它的代码中。指针不仅允许可以传递参数还允许修改参数值。第二,在对一系列数据(比如数组中的值)进行操作时,使用指针可以执行很高的效率。
.NET框架String类:String类不是内置的数据类型,它是.NET框架的一部分。因此,在使用String类之前,必须在项目中包含一些库文件。在项目的顶端添加如下两行代码:
#using <mscorlib.dll>
using namespace System;
#using 行告诉编译器从mscorlib.dll文件中查找有关String类的详细内容。mscorlib.dll库文件包含.NET的核心组件,using行的作业是帮助您使用某些.NET类。例子,建立一个CLR控制台应用程序,HelloWorld.cpp中的代码为
#include "stdafx.h"
//#using<mscorlib.dll>
using namespace System;
int main(array<System::String ^> ^args)
{
String ^a = "helloWorld!";
Console::WriteLine(a);
return 0;
}
注意:虽然String 类的功能非常强大,但一旦初始化了一个String对象,就不能再改变它。表面上看,String类的成员函数(如Insert和Replace)是要修改字符串,实际上返回的是一个包含修改的新的String对象。这样,当对一个字符串进行反复修改时,这种情况使得String类方法的效率变得非常低。此时,应使用StringBuilder类,而且必须包含mscorlib.dll程序集以及System.Text命名空间来简化对成员的访问。
注意:在操作对象时,前缀式的增量和减量运算符比后缀式更加有效。这是因为在将对象作增量或减量运算之前,我们不必在表达式中使用对象的临时副本。
类型转换:除了支持C++的标准的转换(type)value之外,还支持下面四种
1.static_cast<type>
2.const_cast<type>
3.dynamic_cast<type>
4.reinterpret_cast<type>
int a=10;
double b;
b = (double)a;//老版
b = static_cast<double>(a);//C++
为什么要使用函数,原因主要有以下几点:
1。函数一般都是短小的,不连续的。将一个程序编写为一系列函数之后,程序员可以集中精力于其中某一函数,因此降低了程序开发难度。
2。将一个程序分解为大量小型函数后,提高了程序的可读性,而且更易于调试。
3。函数可以重复使用。一旦编写了一个函数,便可以随时调用它。这样就简化了代码编写工作,提高了开发效率。
函数原型是一条将函数名称介绍给编译器的单行语句。
注意:在函数原型中,参数名称可有可无。从理论上讲,可以只指明参数类型,而将参数名称省略掉。但是,参数名称可以传达参数的含义,所以在实际编程过程中最好还是使用参数名称。
函数原型修改,定义默认参数值:int add(int a = 2,int b = 3);
在函数中如int main(){return 0;}在这个函数中,关键字return使控制流返回到调用函数中。有时候是没有必要要这个return 的,因为函数体末尾的大括号能实现隐式返回。
注意:在Visual C++中,可以按任何顺序定义函数体。但是不能出现函数嵌套,即不能在一个函数体内定义另一个函数体。
提示:因为函数原型中的参数名称只是为了表明这里需要参数,所以函数体可以使用与函数原型不同的参数名称。但是,为了保持一致,建议在函数原型和函数体中使用相同的参数名称。