TAXONOMY / category

Cpp

共 22 篇内容。

09

C++ の 标准模板库(STL)

标准模板库(Standard Template Library, STL)是一个 C++ 软件库,大量影响了 C++ 标准程序库但并非是其的一部分。其中包含 5 个组件,分别为迭代器、容器、容器适配器、算法、函数。

01

C++ の 异常处理(Exception)

异常,在操作系统中指的是指令内部出现的"内中断",如除数为零,地址越界等。这些情况在程序中也时有发生,C++ 为了应对偶发的程序异常事件,引入了异常处理机制。其基于三个关键字:try,throw 与 catch。

28

C++ の 泛型编程(Generics)

泛型编程是程序设计语言的一种风格或范式,允许程序员在编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。在 C++ 里,这是与 OOP 并列的一大分支,通过模板来实现。

14

C++ の 面向对象(OOP)

面向对象程序设计(Object-oriented programming, OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。

13

C++ の 内联函数(Inline)

inline 只能用于修饰函数,能够解决一些频繁调用的小函数大量消耗栈内存的问题,是一种提高程序运行效率的手段。

05

C++11 の 正则表达式(Regex)

正则表达式,又称规则表达式(Regular Expression,常简写为 regex、regexp 或 RE),是一种文本模式/规则,包括普通字符和特殊字符(元字符)。通常使用单个字符串来表示正则表达式 pattern,并匹配一系列符合模式 pattern 的字符串。

04

C++11 の 预置与弃置(Default & Delete)

C++11 中新增了 default 与 delete 这俩关键字。请不要误会,这里的 delete 并不是与 new 搭配使用释放内存的那个,而是跟 default 相对的用于类成员函数声明的关键字。

02

C++11 の 智能指针(Smart Pointer)

C++ 不像 Java 那样有虚拟机动态的管理内存,如果使用裸指针,在程序运行过程中可能就会出现内存泄漏等问题,然而这种问题其实都可以通过 C++11 引入的智能指针来解决。

20

C++11 の 左值与右值(Lvalue & Rvalue)

早年的 C++ 中已经出现了左值与右值这两个基本概念,但并不重要,平时也不怎么会用到。直到 C++11 引入了右值引用等新特性,这俩概念终于翻身做起了主人——它们是理解移动与转发语义的重要基础。

17

C++11 の 别名(Alias)

虽然使用 auto 可以大大简化代码,但对于一些使用 dynamic_cast 的结果不能用 auto 作为占位符。将冗长的变量类型简化仍然是很头疼的一个问题,幸好 C++11 提供了用关键字 using 给类型起别名的特性,既能有效简化代码,又不影响可读性。

14

C++ の 流(Stream)

C++ 程序常用 cin , cout 进行标准 I/O(从键盘读取数据,或输出数据到屏幕),当然也可以进行文件 I/O (基于文件的数据读写)。这些行为本质上都是进行数据传输——数据向水流一样从一个地方流到另一个地方。C++11 中,将这些操作统一为"流( stream )"。