const_cast 的行为
我正在阅读有关 C++ 中的 const_cast 运算符 1.我无法理解的第一件奇怪的事情是 const_cast 运算符语法即 -const_cast----(--表达式--)--------------…
“需要左值作为赋值的左操作数”在奇怪的地方--C++
注意:这不是标题中带有此名称的十亿零一个问题的重复。这与指针和非常奇怪的东西有关,而不是意外的 = 而不是 ==。 我有一个 C++ 函数,其中有一个名…
ANTLR 语法和语法谓词中的左值意识
我正在使用 ANTLR for D 实现一个解析器。这种语言基于 C,因此声明和表达式存在一些歧义。考虑一下: a* b = c; // This is a declaration of the va…
RValues 由什么构成?
RValue 是不可操作的内存区域,因此像整数这样的文字被视为 RValue。 常数构成 RValue 吗? const int x = 0; 至少可操作一次。 现在,编译器创建的临…
'?:' 的结果类型是什么? (三元/条件运算符)?
为什么第一个条件运算符会产生引用? int x = 1; int y = 2; (x > y ? x : y) = 100; 然而,第二个却没有。 int x = 1; long y = 2; (x > y ? x : y) …
c++ 中的类型转换和引用
请看下面的调用和相应的函数, long pagenumber = 0; Node *newNode = createNode(); bufMgr->writePage(pageNumber,(char*)newNode); writePage 声明…
如何在 C 中存储指向已分配内存区域的偏移位置的指针?
我正在尝试用我得到的库制作一个非常简单的哈希表。我尝试创建的行包含 C 字符串或 int 作为键。值可以有 4 种不同类型。如果它是结构,我尝试将指针…
打印返回的结构体的成员
我在打印从函数返回的结构成员时遇到问题: #include struct hex_string { char a[9]; }; struct hex_string to_hex_string_(unsigned x) { static co…
什么语言创造了术语“左值”?
Closed. This question is off-topic. It is not currently accepting answers. 想要改进此问题吗?更新问题,使其关于- Stack Overflow 的主题。 13…
Objective-C 结构体属性指针无法通过 self.prop 生成?
我刚刚在将 NSCoder 支持写入类时遇到了一点惊喜。我有一个 A 类,其中包含 RGB 结构类型的公开“颜色”属性。我有另一个扩展 A 的类 B。 为了在类 B …
为什么函数的返回值可以赋值给?
考虑以下函数: char *f() { char *s=malloc(8); } main() { printf("%c",*f()='A'); } 如果我注释行 char *s=malloc(8); ,我会收到一个错误,就像访…
为什么是 myClassObj++++不会产生编译错误:'++'需要像内置类型一样的左值吗?
为什么 myint++++ 使用 VS2008 编译器和 gcc 3.42 编译器可以正常编译?我期待编译器说需要左值,示例见下文。 struct MyInt { MyInt(int i):m_i(i){}…