我们首先介绍常见的编程范型,首先是两大主轴:

  • 命令式:告诉计算机“怎么做”
  • 声明式:告诉计算机“要什么”,比如 HTML

然后是常见的具体范式:

  • 过程式
  • 结构化:避免随意使用 goto 导致破坏结构化
  • OOP
  • FP:

0. 杂项

注释规范

更多内容可以使用搜索引擎。

1
2
3
4
5
6
7
8
9
10
11
/**
* 摘要:一句话说明功能。
*
* 详细描述:行为、边界、副作用、线程安全、示例等。
*
* @param ... 参数说明
* 形如 @param {Object} order - 订单对象
* @returns ...
* @throws ...
* @brief
*/

左值和右值

  • 左值:通常有名字、有确定内存位置,比如 int a
  • 右值:临时的、不占有确定内存位置的表达式,比如表达式 a + b 的结果

在 C++11 后,为了支持移动语义,引入了将亡值(xvalue),有地址,但该地址程序无法再通过常规方式访问。

比如常见的左值:

1. 对象的设计

静态成员函数

1
2
3
4
5
6
7
8
9
struct Info {
long sum = 0, lmax = 0, rmax = 0, ans = 0;
Info() = default;
explicit Info (long _sum, long _lmax, long _rmax, long _ans) : sum(_sum), lmax(_lmax), rmax(_rmax), ans(_ans) {};
static Info single(long v) {
long m = max<long>(0, v);
return Info(v, m, m, m);
}
};

这里的 single 即静态成员函数,不属于某个具体的 Info 对象,调用时如:

1
Info a = Info::single(5);

Nothing built can last forever.
本站由 iznomia 使用 Stellar 1.30.4 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。