C++ 是一种通用编程语言,支持过程式、面向对象和泛型编程。C++ 是 C 的超集,所有有效的 C 程序在 C++ 中也都是有效的。C++ 通过数据隐藏、封装、继承、多态等特性支持面向对象编程。让我们看看第一个打印 Hello, World! 的 C++ 程序。示例#include using namespace std; int main() { cout
指针在 C、C++ 编程语言中,指针是一个变量,它保存另一个变量的地址。示例#include using namespace std; int main() { //int 变量 int i = 8; //指针变量 int * pI; //将 i 的地址赋给它的指针 pI = &i; //打印数字 cout
依赖于参数的查找 (ADL) 是一种在函数调用表达式中查找非限定函数名的协议。这些函数调用表达式包括对重载运算符的隐式函数调用。除了通常的非限定名称查找所考虑的范围和命名空间之外,还在其参数的命名空间中查找函数名。依赖于参数的查找使得使用在不同命名空间中定义的运算符成为可能。示例namespace MyNamespace{ class A {}; void f( A &a, int i) {} } int main() { MyNamespace::A a; f( a, 0 ); //调用 MyNamespace::f }对 f 的函数调用的查找依赖于... 阅读更多
标准模板库 (STL) 是 C++ 编程语言的一个软件库,它影响了 C++ 标准库的许多部分。它提供了四个组件,称为算法、容器、函数和迭代器。请注意,术语“STL”或“标准模板库”在 ISO 14882 C++ 标准中没有任何出现。因此,将 C++ 标准库称为 STL 是错误的,即 STL 和 C++ 标准库是两件不同的事情,前者是后者的子集。STL 包含容器STL 包含序列容器和关联容器。容器是存储数据的对象。该... 阅读更多
new 用于动态内存分配。在这种情况下分配的内存位于堆上。这种类型的内存分配会产生一些成本,并且程序员必须手动进行内存清理和管理。必须在以下情况下使用这种类型的分配:−你不知道在编译时需要多少内存。你想要分配在离开当前块后仍然存在的内存。除此之外,很少有需要动态内存分配的情况。这是因为,在 C++ 中,存在析构函数的概念。此函数在... 阅读更多