1、C++
C++ 是一种广泛使用的编程语言,它是由 Bjarne Stroustrup 在 1983 年创建的。C++ 是一种面向对象的编程语言,它是 C 语言的扩展,增加了面向对象的概念和语法。
C++ 是一种高效且通用的编程语言,适用于各种应用程序,包括操作系统、游戏、图形界面、嵌入式系统、实时系统等。C++ 提供了低级别的访问硬件和系统资源的能力,同时也提供了高级别的抽象和封装机制。
C++ 的语法和语义相对复杂,需要一定的学习和实践才能掌握。但是,一旦掌握了 C++,您将能够编写高效、可维护和可重用的代码,为您的软件开发工作带来更多的便利和效益。
2、从C到C++
一个简单的C++程序
//包含C++的头文件
#include <iostream>
using namespace std;
int main() {
cout << "HelloWorld!" << endl;
return 0;
}
命名空间
为了解决合作开发时的命名冲突问题,C++ 引入了命名空间(Namespace)的概念。
#include <iostream>
//#include <stdio.h>
//#include <cstdio>
//using namespace std;
namespace A
{
int a = 1;
void print()
{
std::cout << "this is namespace A" << std::endl; //::作用域限定符
}
}
namespace B
{
int a = 2;
void print()
{
std::cout << "this is namespace B" << std::endl;
}
}
int main()
{
//std::cout << a << std::endl; //a不是全局变量也不是main函数局部变量 所以未定义
std::cout << A::a << std::endl;
using namespace B;
std::cout << a << std::endl;
print();
A::print();
//using namespace A; //只能使用一个命名空间
print();
return 0;
}
register关键字
请求“编译器”将局部变量存储于寄存器中
C语言中无法取得register变量地址
C++中可以取得register变量的地址
在C++中不允许定义多个同名的全局变量
在C语言中重复定义多个全局变量是合法的
这些同名的全局变量最终都会被链接全局数据区的同一个地址空间上
标识符之间可能发生冲突
C++:struct
C语言的struct定义了一组变量的集合,C编译器并不认为这是一种新的类型
C++中的struct是一个新类型的定