与编程语言的任何方面的设计相关的问题的标签。
组装1 命名空间Foo { 公共类 Foo { } } 组装2 使用 Foo; 公共课酒吧 { Foo foo = new Foo(); } 我今天发现上面给出了错误 Type name Expected but
虽然我很少编写 C 代码,但我经常看到它(主要是因为我所在领域的书籍将其作为算法示例的参考语言)并且有些事情已经困扰我一段时间了......
一些流行的编程语言使用相差 1 的月份编号——我想到的是 JavaScript,Java 也是如此,如果没记错的话,C 也是如此。我有一些问题: 如果你要成为
没有空字符文字有什么具体原因吗? 最接近我的想法的是,“”是“”空字符。 在 C++ 中,char 由 int 表示,这意味着
在今天的 C++ 课程中,我们讨论了标识符的最大可能长度,以及编译器如何在达到一定长度后最终停止将变量视为不同的。 (我的教授似乎...
python的设计:为什么assert是一个语句而不是一个函数?
在Python中,assert是一个语句,而不是一个函数。 根据文档,断言表达式1,表达式2相当于 如果__调试__: 如果不是表达式1: 引发断言错误(
我正在开发一种基于数学的编程语言(用 Rust 编写),它使用集合而不是类型。其中,变量或值属于一组值(例如 x : {1, 2, 3} 或 msg : Str)。那个...
YAML 规范明确指出: 映射使用冒号和空格(“:”)来标记每个键:值对。 所以这是合法的: 富:酒吧 但这不是: 富:酒吧 我看到网上很多人在吐槽...
我正在阅读这个问题的答案什么是Python中的元类?当我了解到 Python 中的类不必使用 class 关键字创建时。例如,引用前面的内容...
我正在阅读这个问题的答案什么是Python中的元类?当我了解到 Python 中的类不必使用 class 关键字创建时。这让我想知道:我到底...
比方说,我们创建了 C 的重新实现,唯一的区别是 类型是推断出来的。存储类和修饰符仍然需要 给定(常量、静态、限制等),并且 l...
为什么标准只要求 std::distance 的输入迭代器,而不是前向迭代器?
我很困惑地发现 std::distance 的模板参数要求是 LegacyInputIterator 而不是 LegacyForwardIterator。 由于仅输入迭代器没有多遍
C++03 标准 7.3.1.1 [namespace.unnamed] 第 1 段:(和 C++11 标准也使用类似的定义) 未命名命名空间定义的行为就好像它被替换为 命名空间唯一 { /* ...
许多语言都有幂运算符;为什么C++没有?例如,Fortran 和 Python 使用 **,并且通常使用 ^ 编写(例如在 LaTeX 中)。
这个所谓的重复解释了为什么不允许这样做的机制,并显示了它无法工作的极端情况,但未能解决为什么 C++ 在这种情况下拒绝允许它的问题...
我开始用 std::string_view 进行实验。 它有一个非常丑陋的特点。你不能说: std::string_view 和 std::string_view 就像很棒的 std::span 一样。 所以,你不能...
在C++98标准和C++03标准之间,做了一个有趣的改变: 结构体S{ 整数S; }; 此代码在 C++03 及更高版本中有效,但在 C++98 中格式错误。 具体来说,[类...
int x = f(); 内联 int y = x; 未指定 y 是否为零或 x 的值。 请注意,x 具有有序初始化,y 具有部分有序初始化(请参阅 [basic.start.dynamic] p...
从那里我知道在C中对指针调用offsetof是非法的,但为什么它是未定义的行为?标准执行 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEM...
为什么std::forward_list没有size()成员函数?
我一直使用C++11的forward_list作为快速插入的容器,没有太多内存开销,因为它是一个单链表。 在意识到forward_list没有size()之后...