北中轴线游记

缘起

“十一假期去哪里呢?”

“首先排除故宫这样的热门景点吧,一来是门票早早就被抢光了,二来宫殿之类的,看了一个也就相当于看了十个,感觉也没有什么意思。”

“确实。其实室内的景点都存在这样的问题,主要是受疫情影响,博物馆之类的都下调了参观人数限制,再加上假期本来人就多,很难抢到一张票。所以你说我们去哪里比较好呢?”

“不如考虑亲近自然。比如奥林匹克森林公园。游览完森林公园后我们再往南走,看看鸟巢和水立方。除了奥运遗产之外,沿途其实还有很多其他景点等着我们呢。”

“这个路线挺不错。我突然意识到一点,我们走的这条路线刚好是北京的北中轴线哎。准确来说,是从老城延伸出来的奥运中轴线。”

“是的!这条路线挺有意义,我已经迫不及待想要尝试这条路线了!”

于是,一场从中轴线最北端开始的旅行,在交流中逐渐成型。

继续阅读北中轴线游记

浅谈函数重载规则

引子

昨天在某个群看到了这样一段代码:

#include <iostream>
#include <string>
using namespace std;
void foo(string str) { cout << "string" << endl; }
void foo(bool b) { cout << "bool" << endl; }
void foo(char c) { cout << "char" << endl; }

int main() {
  foo("hello, world");
  return 0;
}

现在的问题是,这段程序的输出是什么?或者说,foo("hello, world"); 调用的究竟是哪个函数?

要解决这个问题,我们就要详细讨论一下函数重载的规则。

继续阅读浅谈函数重载规则