标签: string-literals

7
推荐指数
1
解决办法
1万
查看次数

标准字符串文字和字符串文字?

我对这四个术语感到困惑:

  • 字符串文字

  • 字符常量

  • 字符串字面量.

  • 多字节字符序列

并阅读C标准中的这句话:

字符串文字不必是字符串(见7.1.1),因为\0转义序列可以在其中嵌入空字符.

第一部分是什么意思?

c string constants string-literals

7
推荐指数
1
解决办法
164
查看次数

Julia 正则表达式

我正在尝试比较两个列表,并希望使用正则表达式来做到这一点。因此,我想遍历一个列表的元素并将其与另一个列表中的每个元素进行比较。我似乎无法弄清楚如何让我的正则表达式包含一个变量。希望这段代码可以说明问题:

string1="chase"

string2="chasecb"

m=match(r"$string1"  ,string2)

println(m)
Run Code Online (Sandbox Code Playgroud)

我知道 $ 是一个正则表达式元字符,我已经尝试转义它以及该想法的各种排列等等。还有其他方法吗?非常感谢。

regex string-literals julia

6
推荐指数
1
解决办法
4757
查看次数

字符串常量池和实习生

我最近几天试图理解String常量池和inter的概念,在阅读了很多文章之后我理解了它的一些部分,但仍然对以下几点感到困惑: -

1. String a = "abc" 这会在字符串常量池中创建一个对象,但是以下代码行是否在字符串常量池中创建对象"xyz"? String b = ("xyz").toLowerCase()

2.

String c = "qwe"   
String d = c.substring(1)    
d.intern()   
String e = "we" 
Run Code Online (Sandbox Code Playgroud)

在类加载期间是否应将字符"we"添加到String consant池中,如果是这样,为什么d==e即使d未指向String Constant池也会返回true

java string string-literals

6
推荐指数
1
解决办法
750
查看次数

Qt 与 constexpr 字符串文字

有没有办法在 Qt 中定义静态 constexpr 字符串文字成员?即类似以下内容:

class X
{
   static constexpr QString tag = "mytag";
};
Run Code Online (Sandbox Code Playgroud)

c++ qt string-literals constexpr

6
推荐指数
1
解决办法
6990
查看次数

带有 std::initializer_list 的奇怪行为 constexpr

我试图理解为什么编译器在这里抱怨:

// cexpr_test.cpp
#include <initializer_list>

constexpr int test_cexpr(std::initializer_list<const char*> x)
{
    return (int) (*x.begin())[0]; // ensuring the value isn't optimized out.
}

int main()
{
    constexpr int r1 = test_cexpr({ "why does this work," });

    constexpr std::initializer_list<const char*> broken { "but this doesn't?" };
    constexpr int r2 = test_cexpr(broken);

    return r1 + r2;
}
Run Code Online (Sandbox Code Playgroud)

编译时产生的消息

g++ -std=c++11 -Wall -Werror cexpr_test.cpp 
Run Code Online (Sandbox Code Playgroud)

如下:

cexpr_test.cpp:在函数“int main()”中:cexpr_test.cpp:12:76:错误:“const std::initializer_list{((const char* const*)(&)), 1}”不是常量表达式 12 | constexpr std::initializer_list 损坏 {“但这不是?” }; |

令人困惑的是,为什么它在没有任何问题的情况下构建第一个初始化列表。我在这里缺少什么?

c++ string-literals initializer-list language-lawyer constexpr

6
推荐指数
1
解决办法
426
查看次数

无用的反斜杠会产生定义明确的字符串常量吗?

既,C和C ++,支持看似等效集等转义序列\b\t\n\"和开始与反斜线字符他人(\)。如果跟随正常字符,如何处理反斜杠?据我从几个编译器中记得,转义字符\被默默地跳过。在 cppreference.com 上,我阅读了这些文章

我只找到了这个关于孤儿反斜杠的注释(在 C 文章中)

如果反斜杠后跟此处未列出的任何字符,则 ISO C 需要诊断:[...]

以上参考表。我还看了一些在线编译器

演示

#include <stdio.h>

int main(void) {
    // your code goes here
    printf("%d", !strcmp("\\ x", "\\ x"));
    printf("%d", !strcmp("\\ x", "\\\ x"));
    printf("%d", !strcmp("\\ x", "\\\\ x"));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

C++ 演示

#include <iostream>
#include <string>
using namespace std;

int main() {
    cout << (string("\\ x") == "\\ x");
    cout << (string("\\ x") …
Run Code Online (Sandbox Code Playgroud)

c c++ portability escaping string-literals

6
推荐指数
1
解决办法
168
查看次数

获取 Typescript 中字符串文字类型的值

是否可以在 Typescript 中获取字符串文字类型的值?

type MyStringLiteral1 = 'ONE'
type MyStringLiteral2 = 'TWO'

type MyStringLiterals = MyStringLiteral1 | MyStringLiteral2

...

<div>
    // how can I get the value of MyStringLiteral1 here?
</div>

Run Code Online (Sandbox Code Playgroud)

string-literals typescript

6
推荐指数
0
解决办法
2209
查看次数

字符串文字和字符串值有什么区别?

看到这个答案

我认为您的困惑在于您将源代码中的字符串文字概念与实际字符串值混淆了。

字符串文字和字符串值有什么区别?我不明白这一点。

python string string-literals

6
推荐指数
1
解决办法
1088
查看次数

获取 TypeScript 中类型的类名

在 TypeScript 4.1 中,是否可以获取字符串类型的类名或函数名?

例如

class Foo { }

type Tpl = `${Foo["name"]}_${"a" | "b" | "c"}`; // error
// should be
// "Foo_a" | "Foo_b" | "Foo_c"
Run Code Online (Sandbox Code Playgroud)

编辑(扩展用例)

由于第一个示例不够明确,可以使用"Foo_a" | "Foo_b" | "Foo_c"as 类型来解析,这里是另一个示例。


class Animal { /* code */ }
class Dog extends Animal { }
class Cat extends Animal { }
class Duck extends Animal { }
// also, someone outside my original code decide to implement another
// animal, and so on. (for example, …
Run Code Online (Sandbox Code Playgroud)

types string-literals typescript template-literals

6
推荐指数
0
解决办法
1421
查看次数