根据sbi对this question的回答,
可以根据需要声明标识符(语句1)
但
是不是真的C ++中的
with current_app.test_client() as tc: resp = tc.get('/url/that/does/not/exist') >>> resp.status_code 404
只是阻止了函数声明 在单个源文件中显示多次(语句2)
我的问题是:为什么会出现这种矛盾?或者我误解了两个陈述中的任何一个?
答案 0 :(得分:4)
是的,您可以在一个翻译单元中多次声明(但不能定义)一个函数。是的,包括警卫通常会阻止这一点,但这不是他们唯一的目的。标头通常定义类,模板和内联函数;需要头部防护以防止这些实体的多个定义出现在单个翻译单元中。标题保护还有助于防止标头粘贴到翻译单元的次数呈指数级膨胀。