c++ - (const char*)++ 还是 (const char)++?

标签 c++ string

#include <iostream>
#include <cstring>

using namespace std;

int main() {
    char *str = "hello";

    while (*str) {
        cout << *str;
        *str++;
    }

    return 0;
}

#include <iostream>
#include <cstring>

using namespace std;

int main() {
    char *str = "hello";

    while (*str) {
        cout << *str;
        str++;
    }

    return 0;
}

都输出

hello

为什么在 str++ 之前添加或删除引用运算符不会改变输出?

最佳答案

后缀 ++ 比解引用操作符 * 有更高的优先级,所以

*x++;

相同
*(x++);

这真的和

x++;

关于c++ - (const char*)++ 还是 (const char)++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20701952/

相关文章:

c++ - 根据定义将单词映射到数字

c++ - 字符串短语以空格结尾?

c++ - 修改编译后的可执行内存分配

string - 仅使用 for 循环体内的条件将字符串与空格连接起来

java - Android String Edit和Array的值定位

c++ - boost::graph同构的使用

c++ - 为什么CMake通过相对路径链接外部库?

c - 由于 snprintf 而尾随零

java - 返回所有满足条件的字符串值

Java在文本中查找字符串不起作用