问题标签 [string-literals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1390 浏览

c# - 在正则表达式中捕获变量字符串?

在 C# 中,我正在尝试将以下捕获模式与变量一起使用——我想知道我是否做错了。info_name 是我传递给该方法的字符串变量。

但它给了我一个错误,')'预计大约在中途。这没有错误:

我不能将其用作解决方案,我需要在标签关闭之前捕获 "。

0 投票
3 回答
202 浏览

.net - 如何将 C# 中的任何表达式作为字符串?

在许多情况下,我们需要表达式、参数、语句等的名称。例如:

有什么方法可以自动获取这些字符串文字,例如使用可以像这样使用的关键字typeof(string)?还是有一种基于反射的简单而高效的方法?

我不是在寻找一种方法来检查和记录这个参数(这实际上只是一个例子)。我正在寻找一种方法来获取部分代码为string.

以下会更准确,可以由编译器检查,也可以在重构代码时考虑:

0 投票
3 回答
336 浏览

c - 在 C 中编译时间可变大小的字符串文字

DD应该怎么做?

如果

我想得到HEADING字符串文字如下:

= 符号或我曾经放置的任何内容将在 <== ... ==> 中重复以填充HEADING_TITLE_PROJECT_NAME空间。

可以这样或其他方式完成。 我只想在编码时间更改 HEADING_TITLE_PROJECT_NAME 而没有别的。 只是想如果可以做到:)

<==编辑开始==> 类似的东西

<==编辑结束==>

0 投票
2 回答
2303 浏览

java - Is it possible to use a value for a @RequestMapping that is a String but not a String literal?

Is there a way to use an Enum value in a RequestMapping?

I want to use a URL value that is already stored in an Enum.

However, I get compile time errors when I try to put anything except a String literal in the RequestMapping.

How does it know the difference between a String literal and a String that is not a String literal ( not sure what that's called ) ?

This is what I tried but it failed at compile time:

I also tried using String.format but it doesn't like that either:

0 投票
2 回答
2407 浏览

c++ - 字符串文字可以在常量表达式中下标吗?

这是有效的,因为constexpr允许表达式采用“引用使用 constexpr 定义的非易失性对象或引用此类对象的子对象的文字类型的左值”(第 5.19/2 节)的值):

但是,字符串文字似乎不符合以下描述:

2.14.5/8 描述了字符串字面量的类型:

普通字符串文字和 UTF-8 字符串文字也称为窄字符串文字。窄字符串文字的类型为“n const char 数组”,其中 n 是字符串的大小,定义如下,并且具有静态存储持续时间。

似乎这种类型的对象可以被索引,只要它是临时的而不是静态存储持续时间(5.19/2,就在上面的片段之后):

[constexpr允许左值到右值的转换] ...一个字面量类型的左值,它引用一个非易失性临时对象,其生命周期尚未结束,用常量表达式初始化

这特别奇怪,因为获取临时对象的左值通常是“作弊”。我想这条规则适用于引用类型的函数参数,例如

对于它的价值,GCC 4.7 接受get_1( "hello" ),但拒绝,"hello"[1]因为“'._0' 的值在常量表达式中不可用”......但作为案例标签或数组绑定"hello"[1] 是可以接受的。

我在这里分裂了一些标准的头发......分析是否正确,这个功能是否有一些设计意图?

编辑:哦……这有一些动机。似乎这种表达式是在预处理器中使用查找表的唯一方法。例如,这引入了一个代码块,除非SOME_INTEGER_FLAG是 1 或 5,否则它会被忽略,如果大于 6,则会导致诊断:

这个结构对于 C++11 来说是新的。

0 投票
5 回答
7739 浏览

c - 总线错误故障排除

我正在尝试反转一个字符串。

这是我试过的代码:

代码输出一个Bus error : 10.

但是如果我重写相同的代码:

它工作得很好。

为什么第一个代码会抛出总线错误或分段错误?

0 投票
6 回答
3337 浏览

c++ - 将传递的参数限制为字符串文字

我有一个类来包装字符串文字并在编译时计算大小。

构造函数如下所示:

但是代码有问题。以下代码编译,我想使它成为一个错误。

有没有办法限制构造函数,使其只接受 c 字符串文字?编译时检测是首选,但如果没有更好的方法,运行时是可以接受的。

0 投票
3 回答
1445 浏览

c - 如何在可执行文件的代码中嵌入字符串?

我有一个字符串文字,它在我的可执行文件周围的许多不同地方使用。

让我们这样说:

现在,这个字符串文字在可执行代码中变得非常明显,因为它是按字面嵌入的。

有没有办法通过强制编译器来避免这种情况,例如,生成汇编指令(例如mov [ptr + 4], 0x65)指令来创建字符串,而不是按字面嵌入字符串?

我不想做任何形式的混淆——我只是想避免使字符串在可执行文件中变得明显。(我也不想在使用字符串的每个地方都修改我的代码。)

这可能吗?

0 投票
1 回答
15403 浏览

c++ - Unicode 字符串文字

C++11 引入了一组新的字符串文字前缀(甚至允许用户定义的后缀)。最重要的是,您可以直接使用 Unicode 转义序列对某个符号进行编码,而不必担心编码问题。

wchar_t但是我也可以在字符串文字中使用 unicode 转义序列吗?如果这是不可能的,这似乎是一个缺陷。

的整数值sw[0]当然取决于wchar_t特定平台上的内容,但对于所有其他效果,这应该是可移植的,不是吗?

0 投票
4 回答
2502 浏览

c++ - 理解 C++ 中的 C 字符串和字符串文字

我有几个关于字符串文字和 C 字符串的问题。

所以,如果我有这样的事情:

据我了解,字符串文字是在内存中创建的,带有一个终止空字节,例如从地址 0xA0 开始并在 0xA9 结束,然后从那里返回地址和/或转换为类型 char [ ] 然后指向地址。

然后执行此操作是合法的:

所以从这个意义上说,只要将字符串文字转换为 char [ ] 类型,就可以修改它们吗?

但是对于常规指针,我开始明白,当它们指向内存中的字符串文字时,它们无法修改内容,因为大多数编译器在常量的某个下限地址空间中将分配的内存标记为“只读”。

我想我想了解的是为什么不允许 char * 类型像数组一样指向字符串文字并修改它们的常量?为什么字符串文字不像 char [ ] 那样被转换为 char *?如果我在这里有错误的想法或完全不正确,请随时纠正我。