时间:2024年7月1日
软件: 小熊猫C++
雪舞写第一个C++的代码
#include <iostream>
int main()
{
//第一种:
using namespace std; //使用std名称空间中所有名字都可用
cout << "Come up and C++ me some time.";
cout << endl;
cout << "You won't regret it!" << endl; //结束,C语言的注释~
cin.get();
//第二种,更好的方法,只使所需的名称可用,可以通过使用using声明来实现
//using std::cout; //make cout available
//using std::endl; //make endl abailable
//using std::cin; //make cin available
//cout << "Come up and C++ me some time.";
//cout << endl;
//cout << "You won't regret it!" << endl; //结束,C语言的注释~
//cin.get();
return 0;
}
输出内容:
在这里使用iostream,而不是iostream.h,则应使用下面的名称空间编译指令来使iostream中的定义对程序可用:
名称空间支持是一项C++特性,旨在让您编写大型程序以及将多个厂商现有的代码组合起来的程序时更容易,他还有助于组织程序。应该潜在的问题是,可能使用两个已封装好的产品,而他们都包含一个名为wanda()的函数。这样,使用wanda()函数的时候,编译器将不知道指的是哪个版本。
头文件类型 | 约定 | 示例 | 说明 | C++旧式风格 | 以.h结尾 | iostream.h | C++程序可以使用 | C旧式风格 | 以.h结尾 | math.h | C、C++程序可以使用 | C++新式风格 | 没有扩展名 | iostream | C++程序可以使用,使用 namespace std | 转换后的C | 加上前缀C,没有扩展名 | cmath | C++程序可以使用,可以使用不是C的特性,如 namespace std |
关于运算符重载
这段代码里的(<<),如果熟悉了C以后才开始学习C++,则可能注意到了,插入运算符(<<)看上去就像按位运左移运算符(<<),这是一个运算符重载的例子,通过重载,同一个运算符将有不同的含义。编译器通过上下文来确定运算符的函数。C本身也有一些运算符重载的情况。
例如:&符号既表示地址运算符,又表示按位AND运算符;*既表示乘法,又表示对指针解除引用。这里重要的不是这些运算符的具体功能,而是同一个符号可以有多种含义,而编译器可以根据上下文来确定其含义(这和确定“sound card”中的“sound”与“sound financial basic”中的“sound”的含义是一样的)。C++扩展了运算符重载的概念,允许位用户定义的类型(类)重载新定义运算符的含义。讨论英语中“sound”一词的不同含义。在“sound card”(声卡)中的“sound”指的是声音,而在“sound financial basis”(稳健的财务基础)中的“sound”则是形容词,意味着稳健的、可靠的。这句话的意思是在确认这两个场景下“sound”这个词意义是否相同。实际上,这两种用法中的“sound”意义是不同的。
控制符endl
现在再看代码中奇怪的符号
endl是一个特殊的C++符号,表示一个重要的概念:重起一行。在输出流中插入endl将导致屏幕光标移到下一行开头。诸如endl等对于cont来说有特殊含义的特殊符号被称为控制符(manipulator)。和count一样,endl也是在头文件iostream中定义的,且位于名称空间std中。
打印字符时,cout不会自动移到下一行,因此在程序中,如果省略endl,得到的输出将如下:
Come up and C++ me some time.You won't regret it!
|