1.1 什么是c++/cli
C++/CLI是C++和.NET Framework平台版本,从Microsoft Visual Studio 2005开始便己存在,已成为一项国际标准。ECMA标准请参考以下网址:http://www.ecma-international.org/publications/standards/Ecma-372.htm
它对标准C++进行了一些修改。标准C++允许的一些操作在C++/CLI中是不允许的(例如不能从多个基类继承),并进行了一些修改以支持.NET功能(例如接口和属性)以及兼容.NET运行时。
1.2:第一个c++/cli 应用程序
using namespace System;
int main()
{
console: :writeLine( "Hello,world ! " );
return 0;
}
}
1:第一行(从using 开始)告诉编译器要使用.NET System库。项目中能使用许多同的库;using语句的作用就是告诉编译器要使用什么库。
2:剩下的是一个C++函数。C++的所有代码块都称为“函数”,没有过程或子程序等。每个C++函数都包含函数头(int main())和函数主体(大括号中的所有内容)。函数头要列出函数的返回类型(本例是int)、函数名称(main)和圆括号中的参数列表。注意,即使无参也要加上圆括号。
3:所有C++语句都以分号结尾。
4:以 return开头的行作用是退出函数,返回值0是表明执行成功的标准值
1.2.1:main(...)函数
编译器总是查找main函数。没有,就会报错,无法创建可执行的应用程序。所有可执行程序都必须包含该函数。
C++是自由格式的语言。意味着编译器会忽略任何空格、回车符、换行符、制表符、分页符等。这些字符统称为空白字符。只有字符串中的空白字符才会被识别。自由格式的语言允许程序员灵活利用制表符或空格对代码进行缩进。
1.2.2: c++关键字和标识符
C++关键字(也称“保留字”)是对编译器有意义的特殊单词。示例程序用到的关键字包括using,namespace和return。变量或函数名不允许使用关键字,否则编译器会报错。
无效标识符 | 原因 |
111var | 不能以数字开头 |
var+111 | 只能包含字母,数字和下划线 |
return | 不能使用系统保留字 |
只要不违反这些限制,任何标识符都合法。
注意:不推荐以下划线开头,因为C++内部系统变量通常以_开头,使用下划线前缀可能会跟它们冲突
1.3:编写一个c++/cli程序
#include "stdafx.h"
using namespace System;
int main(array<System::String^> ^args){
Console::WriteLine(L"Hello World");
return 0;
}