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++ 中,存在析构函数的概念。此函数将在 ... 阅读更多