当前位置:实例文章 » 其他实例» [文章]从C到C++ | C++入门(二)

从C到C++ | C++入门(二)

发布人:shili8 发布时间:2024-12-25 02:38 阅读次数:0

**从C到C++ | C++入门(二)**在上一篇文章中,我们介绍了C语言的基本语法和特点。今天,我们将继续讨论C++语言的入门知识。

###什么是C++

C++是一种高级编程语言,于1985年由布莱恩·斯特劳斯坦(Bjarne Stroustrup)在C语言基础上开发出来。C++保留了C语言的语法和特点,同时又增加了一些新的功能,如类、对象、继承等。

### C++的优点相比于C语言,C++有以下几个优点:

* **面向对象**: C++支持面向对象编程,这使得程序设计更加容易和高效。
* **类型安全**: C++提供了强类型检查,这可以帮助我们避免一些错误。
* **性能**: C++的执行速度比C语言快很多。

### C++的基本语法####1. 变量声明在C++中,变量的声明和使用与C语言类似。例如:

cppint a =10; // int类型的变量a赋值为10double b =20.5; // double类型的变量b赋值为20.5


####2. 类型转换在C++中,类型转换与C语言类似。例如:

cppint a =10;
double b = static_cast<double>(a); // 将int类型的a转换为double类型


####3. 函数声明在C++中,函数的声明和使用与C语言类似。例如:

cppvoid print(int a) { // void类型的函数print,参数为int类型的a std::cout << "Hello, World!" << std::endl;
}


####4. 类在C++中,类是面向对象编程的基本概念。例如:

cppclass Person {
public:
 std::string name; // 成员变量name int age; // 成员变量age};


### C++的继承和多态性####1. 继承在C++中,继承是面向对象编程中的一个基本概念。例如:

cppclass Animal {
public:
 std::string name;
};

class Dog : public Animal { // Dog类继承自Animal类public:
 int age;
};


####2. 多态性在C++中,多态性是面向对象编程中的一个基本概念。例如:

cppclass Shape {
public:
 virtual void draw() =0; // 虚函数draw};

class Circle : public Shape { // Circle类继承自Shape类public:
 void draw() override { // 重写虚函数draw std::cout << "Drawing a circle." << std::endl;
 }
};


### C++的指针和引用####1. 指针在C++中,指针是内存地址的表示。例如:

cppint* p = new int; // int类型的指针p,指向一个int类型的变量*p =10; // 将指针p指向的变量赋值为10


####2. 引用在C++中,引用是指向某个对象的别名。例如:

cppint a =10;
int& r = a; // int类型的引用r,指向a*r =20; // 将r指向的变量赋值为20


### C++的容器####1. vector在C++中,vector是动态数组的实现。例如:

cpp#include <vector>

int main() {
 std::vector<int> vec = {10,20,30}; // int类型的vector vec return0;
}


####2. list在C++中,list是双向链表的实现。例如:

cpp#include <list>

int main() {
 std::list<int> lst = {10,20,30}; // int类型的list lst return0;
}


####3. map在C++中,map是关联数组的实现。例如:

cpp#include <map>

int main() {
 std::map<std::string, int> mp = {{"a",10}, {"b",20}}; // string类型的key和int类型的value的map mp return0;
}


### C++的算法####1. sort在C++中,sort是对数组或vector进行排序的函数。例如:

cpp#include <algorithm>

int main() {
 int arr[] = {10,20,30};
 std::sort(arr, arr +3); // 对arr进行排序 return0;
}


####2. find在C++中,find是对数组或vector进行查找的函数。例如:

cpp#include <algorithm>

int main() {
 int arr[] = {10,20,30};
 auto it = std::find(arr, arr +3,20); // 查找arr中的20 return0;
}


### C++的异常处理####1. try-catch在C++中,try-catch是异常处理的基本结构。例如:

cppint main() {
 try {
 int a =10 /0; //除数为零时抛出异常 } catch (const std::exception& e) { // 捕获异常 std::cerr << "Exception caught: " << e.what() << '
';
 }
 return0;
}


####2. throw在C++中,throw是抛出异常的关键字。例如:

cppint main() {
 int a =10 /0; // 抛出除数为零的异常 return0;
}


### C++的线程####1. thread在C++中,thread是线程的实现。例如:

cpp#include <thread>

int main() {
 std::thread t([] { // 创建一个线程 std::cout << "Hello, World!" << std::endl;
 });
 return0;
}


####2. join在C++中,join是等待线程结束的函数。例如:

cpp#include <thread>

int main() {
 std::thread t([] { // 创建一个线程 std::cout << "Hello, World!" << std::endl;
 });
 t.join(); // 等待线程结束 return0;
}


### C++的共享资源####1. mutex在C++中,mutex是互斥锁的实现。例如:

cpp#include <mutex>

int main() {
 std::mutex mtx; // 创建一个互斥锁 {
 std::lock_guard<std::mutex> lock(mtx); // 锁住互斥锁 int a =10;
 }
 return0;
}


####2. atomic在C++中,atomic是原子操作的实现。例如:

cpp#include <atomic>

int main() {
 std::atomic<int> a(10); // 创建一个原子变量 int b = a.load(); // 加载原子变量 return0;
}


### C++的智能指针####1. unique_ptr在C++中,unique_ptr是独占式智能指针的实现。例如:

cpp#include <memory>

int main() {
 std::unique_ptr<int> p = std::make_unique<int>(); // 创建一个独占式智能指针 return0;
}


####2. shared_ptr在C++中,shared_ptr是共享式智能指针的实现。例如:

cpp#include <memory>

int main() {
 std::shared_ptr<int> p = std::make_shared<int>(); // 创建一个共享式智能指针 return0;
}


### C++的容器适配器####1. stack在C++中,stack是栈的实现。例如:

cpp#include <stack>

int main() {
 std::stack<int> s; // 创建一个栈 return0;
}


####2. queue在C++中,queue是队列的实现。例如:

cpp#include <queue>

int main() {
 std::queue<int> q; // 创建一个队列 return0;
}


### C++的迭代器####1. iterator在C++中,iterator是迭代器的实现。例如:

cpp#include <vector>

int main() {
 std::vector<int> v = {10,

相关标签:c++c语言开发语言
其他信息

其他资源

Top