2022年4月17日
摘要:
C++98 的函数对象 函数对象(function object) 自 C++98 开始就已经被标准化了。从概念上来说,函数对象是一个可以被当作函数来用的对象。它有时也会被叫做 functor,但这个术语在范畴论里有着完全不同的含义,还是不用为妙——否则玩函数式编程的人可能会朝着你大皱眉头的。 下面
阅读全文
posted @ 2022-04-17 22:35
独立树
阅读(144)
推荐(0)
2022年4月15日
摘要:
初识 constexpr 我们先来看一些例子: int sqr(int n) { return n * n; } int main() { int a[sqr(3)]; } 想一想,这个代码合法吗?看过之后,再想想这个代码如何? int sqr(int n) { return n * n; } in
阅读全文
posted @ 2022-04-15 21:32
独立树
阅读(816)
推荐(0)
2022年4月13日
摘要:
模板里的一个特殊概念——替换失败非错(substitution failure is not an error),英文简称为 SFINAE。 函数模板的重载决议 我们之前已经讨论了不少模板特化。我们今天来着重看一个函数模板的情况。当一个函数名称和某个函数模板名称匹配时,重载决议过程大致如下: 根据名
阅读全文
posted @ 2022-04-13 21:42
独立树
阅读(281)
推荐(0)
2022年4月12日
摘要:
分治算法 概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题.....直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 步骤 分治法在每-层递归上都有三个步骤: 分解:将原问
阅读全文
posted @ 2022-04-12 20:49
独立树
阅读(89)
推荐(0)
摘要:
这一讲我们来看一下模板的另外一种重要用途——编译期计算,也称作“模板元编程”。 编译期计算 首先,我们给出一个已经被证明的结论:C++ 模板是图灵完全的 这句话的意思是,使用 C++ 模板,你可以在编译期间模拟一个完整的图灵机,也就是说,可以完成任何的计算任务。 一个小例子 template <in
阅读全文
posted @ 2022-04-12 20:36
独立树
阅读(534)
推荐(0)
2022年4月11日
摘要:
面向对象和多态 在面向对象的开发里,最基本的一个特性就是“多态” ——用相同的代码得到不同结果。以我们在[第 1 讲] 提到过的 shape 类为例,它可能会定义一些通用的功能,然后在子类里进行实现或覆盖: class shape { public: … virtual void draw(cons
阅读全文
posted @ 2022-04-11 21:37
独立树
阅读(295)
推荐(0)
2022年4月10日
摘要:
F.20 《C++ 核心指南》的 F.20 这一条款是这么说的 : F.20: For “out” output values, prefer return values to output parameters 翻译一下: 在函数输出数值时,尽量使用返回值而非输出参数 这条可能会让一些 C++ 老
阅读全文
posted @ 2022-04-10 21:41
独立树
阅读(133)
推荐(0)
摘要:
自定义字面量 字面量(literal)是指在源代码中写出的固定常量,它们在 C++98 里只能是原生类型,如: "hello",字符串字面量,类型是 const char[6] 1,整数字面量,类型是 int 0.0,浮点数字面量,类型是 double 3.14f,浮点数字面量,类型是 float
阅读全文
posted @ 2022-04-10 21:11
独立树
阅读(143)
推荐(0)
2022年4月9日
摘要:
#include <stdio.h> #include <WinSock2.h> #include <windows.h> //gbk -> utf-16 int test1() { char text_gbk[256] = "砂隐村"; //字符串字面常量,取决于cpp文件自身的 wchar_t
阅读全文
posted @ 2022-04-09 21:28
独立树
阅读(55)
推荐(0)
摘要:
如果要挑选 C++11 带来的最重大改变的话,自动类型推断肯定排名前三。如果只看易用性或表达能力的改进的话,那它就是“舍我其谁”的第一了。 auto 自动类型推断,顾名思义,就是编译器能够根据表达式 (注意是“表达式”!!接下来会和decltype对比) 的类型,自动决定变量的类型(从 C14 开始
阅读全文
posted @ 2022-04-09 20:38
独立树
阅读(296)
推荐(0)