gpt4 book ai didi

python - 为什么允许字符串文字的连接?

转载 作者:IT老高 更新时间:2023-10-28 23:22:16 25 4
gpt4 key购买 nike

我最近被一个微妙的 bug 咬了。

char ** int2str = {
"zero", // 0
"one", // 1
"two" // 2
"three",// 3
nullptr };

assert( int2str[1] == std::string("one") ); // passes
assert( int2str[2] == std::string("two") ); // fails

如果你有神一样的代码审查能力,你会发现我忘记了 "two" 后面的 ,

在找到那个 bug 付出了相当大的努力之后,我不得不问为什么会有人想要这种行为?

我可以看到这对宏魔法有多大用处,但为什么这是现代语言(如 python)中的“功能”?

您曾经在生产代码中使用过字符串文字连接吗?

最佳答案

当然,这是让您的代码看起来不错的简单方法:

char *someGlobalString = "very long "
"so broken "
"onto multiple "
"lines";

不过,最好的理由是奇怪的 printf 格式,比如强制类型:

uint64_t num = 5;
printf("Here is a number: %"PRIX64", what do you think of that?", num);

定义了很多,如果您有字体大小要求,它们可以派上用场。全部查看at this link .几个例子:

PRIo8 PRIoLEAST16 PRIoFAST32 PRIoMAX PRIoPTR

关于python - 为什么允许字符串文字的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com