为什么可以向字符串字面值添加整数?
Why can you add an integer to a string literal?
我在闲逛的时候发现了一些奇怪的事情。你可以做"a" + 2
,程序编译得很好,但是不输出任何东西。然而,"a" + 32
表示array subscript is above array bounds
。
"a"实际上是一个const char[],但它可以在不强制转换为const char*或char*的情况下进行转换,当你对指针进行数学运算时,它的工作原理类似于数组下标语法。你在创建一个新的指针它在字符串中更远的地方。这个关于指针算术的引用可能有用。如果您确实获得了对文字的char*引用,那么修改它仍然是未定义的(根据经验,如果在只读页面中它可能会崩溃,或者可能会更改使用它的所有引用)。
相关文章:
- 添加存储在向量中的大整数的函数出现问题
- 当我们从/tp地址中添加/减去一个整数时会发生什么
- 如何在 sqlite3 中的表中添加整数列表
- 使用指针将 ASCII 值添加到整数
- 我正在尝试制作一个程序,在添加 n 天(整数)后告诉一个人什么是一天(例如星期一等)
- C++向数组添加元素并调整数组大小
- 野牛/flex:计算器将双精度值解释为整数,所以我添加了 YYSTYPE 双精度 #define 但我有多个编译错误
- 斯塔克,堆栈,也可以在底部和顶部添加整数
- 通过在带有 C++ 的列表中添加连续元素来计算新的整数列表
- 计算机使用什么方法添加无符号整数
- 如何拆分整数并将所有内容添加到数组中?
- 调整数组大小并添加元素 C++
- 将整数添加到数组值而无需调用它的最安全方法
- 在C++中使用 cin 同时将整数添加到数组中
- 将整数添加到字符
- Qt:QTableWidget 将整数添加到表中
- 将多个整数添加到一个向量索引? 'Cout'不起作用
- 如何将多个整数添加到字符数组中,然后将它们拉出
- 无法将整数添加到标准::复杂<double>
- 为股票类的整数添加分配内存