社区讨论

一个绝妙的 C++ 语法

学术版参与者 8已保存回复 12

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
12 条
当前快照
1 份
快照标识符
@lobbugsd
此快照首次捕获于
2023/10/29 18:27
2 年前
此快照最后确认于
2023/11/04 00:16
2 年前
查看原帖
发现一个绝妙的语法,可以把语句转为表达式。例如
CPP
int main() {
	return ({
		for (int i = 2; i <= 100000; ++i)
			log_[i] = 1 + log_[i >> 1];
		int T;
		scanf("%d", &T);
		while (T--)
			Solve();
		0;
		});
}
原理是,表达式 ({A; B; ...; Z;}) 会返回 Z 的值(可以为 void()),其中 A, B, ..., Z 是语句。
这样的用法也可以运用于 ifwhilefor 等结构中。

回复

12 条回复,欢迎继续交流。

正在加载回复...