c++ - 为什么 C++ 没有简洁的语法允许在不定义计数器的情况下多次执行操作?
问题描述
我想多次执行单个操作,而不定义计数器。例如,像这样:
do(10)
{
//do something
}
我认为这在几种不同的情况下很有用。例如:
std::list
从开始索引中删除几个连续的项目。- 在一段时间内或在某个特定时间多次发出某些信号。
- 将相同的数据添加到自定义初始化列表中很多场景不限于上面列出的那些。
其他语言有类似的语法,允许重复执行相同的命令,而不必显式定义计数器变量。在我看来,定义计数器与人类思维完全不一致。
模拟我们的想法:</p>
实际上,我们总是在做某事。直接几次。
但现在语法看起来像这样:
- 呃……我要做某事。三次。
- 好了,准备好了,我开始了。
灵魂拷问:为什么C++不提供简洁的语法?虽然我是 C++ 的粉丝,但我不禁想为什么有些人不喜欢 C++,因为 C++ 很少考虑人们的想法。我希望 C++ 能够与时俱进,成为未来的编程语言。
不同于Modern C++重复代码设定次数的方式。我给出了我的计划、应用场景,甚至情感诉求。
解决方案
C++ 的发展是由委员会决定的。用最简单的话说,人们提出的东西,委员会接受或拒绝它。
有趣的是你的建议
do (integral_expression)
{
}
不会是一个突破性的变化。请注意,while
在循环体之后或while
相邻的do
. 在块标签的情况下,这几乎integral_expression
是C++ 中的生产规则,尽管在这种情况下它可以是运行时可评估的。它甚至可以用来清理代码,相当于switch
for (int i = 0; i < integral_expression; ++i)
{
}
引入i
到循环体中可能会带来不便,因为它会影响现有的i
.
也就是说,需要考虑积分表达式为负的情况。在标准 C++ 的合理通用扩展中声明可变长度数组时,也许引入unsigned_integral_expression
与需要编写为大小表达式的内容没有什么不同?
如果你想要 C++ 中的这个特性,那为什么不提出呢?
推荐阅读
- asp.net - 无法将虚拟文件夹添加到 Visual Studio 项目
- node.js - Node.js 中的多用途变量
- python - 如何在 Python 中用 BeautifulSoup 摆脱封闭的段落文本?
- angular - Syncfusion文件管理器下载文件不起作用
- c# - UWP XAML ScrollViewer 如何显示可滚动内容的视觉指示器
- python - 在 Ubuntu Server 20.04 上安装 tensorflow 时出错
- php - Laravel 8背景照片不出现
- arrays - (Excel/VBA) 每次使用一系列单元格打印页面时更改文本框中的数字
- python - 如何为 LSTM 塑造 Pandas DataFrame
- terraform - 从 0.12 升级到 0.13:无法实例化提供程序“registry.terraform.io/-/aws”以获取