问题标签 [user-defined-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.
c++ - 为什么我必须对用户定义的文字使用 long double?
以下用户定义的文字省略了错误:
但如果long
添加错误将消失,代码将按如下方式工作:
错误是:
问题只是由参数和返回类型引起的,可以double
没有long
。
为什么long
需要?
c++11 - 是否可以剥离 C++11 用户定义的文字?
假设我有一个用户定义的文字,它将用于在编译时计算 char[] 的哈希码:
我可以像这样使用它:
我只想将它保留hash code
在我的二进制文件中并将其"Hello"
删除,因为在计算哈希后它是无用的。如何做到这一点?
c++ - 在 VC 2015 上使用带有字符串的宏失败
为什么编译失败?
但这编译得很好(见空格):
我知道 VC2015 现在支持文字运算符。但这不应该处于编译阶段吗?__DATE__
应该由预处理器处理。这里发生了什么?
我想到了 Unicode/非 Unicode 构建的一些混合匹配问题 - 但它没有帮助。这不仅仅是预定义宏的问题,还有用户定义的问题:
编辑:
c++ - 使用用户定义的文字对字符串进行编译时加密
我知道新的 C++ 标准允许用户定义文字,并且它们的生成可以在编译时完成。
但是,我对整个模板元编程领域还是很陌生,我正在尝试一些示例,但仍然没有成功,因为这是我第一次接触这个特殊功能。
所以假设我有一个字符串:
我想在编译时使用:
甚至有可能我正在尝试尝试吗?
我目前正在使用 VS2015,因此感谢您提供任何帮助或反馈。
c++ - 用户定义的文字运算符的“使用”声明
是否可以using
为文字运算符声明operator ""
?
例如,
我的解决方法是将这些运算符放在它们自己的嵌套命名空间中,称为literals
,它允许using namespace MyNamespace::literals;
,但这似乎有点不雅,我不明白为什么该using
指令不能以operator
与它相同的方式用于函数命名空间中的任何其他函数或类型。
c++ - 具有用户定义的字符串文字的基础字符数据的存储持续时间
快速设置:我想在我的程序中传递字符串作为指针和大小。我有一个 String 类和一个用于构造文字字符串的用户定义文字:
标准是否指定传递给我的用户定义文字运算符的参数具有静态持续时间?即上面的代码实际上相当于写:
或者当我使用用户定义的文字时,编译器/链接器是否允许我留下一个悬空指针?
(N4527 的第 2.13.8 节似乎没有就用户定义的字符串文字运算符的参数的存储类主题发表任何内容。任何指向标准适当部分的指针都将不胜感激。)
c++ - 来自用户定义的文字的整数序列,以字符串为参数
目前,只有双打可以在用户定义的文字中生成字符模板:
有没有一种聪明的方法来std::integer_sequence
使用用户定义的文字生成一个字符。换句话说,_y(const char*, std::size_t)
我最终得到的代码是std::integer_sequence<char, '1', '.', '3'>
什么?
c++ - VS2015 中的计时文字
以下代码给了我一个编译时错误:
错误 C3688:无效的文字后缀“h”;未找到文字运算符或文字运算符模板 'operator ""h'。
我正在 Visual Studio 2015 Update 1 上尝试这个,根据这个应该可以工作,那么发生了什么?
c++ - 是否可以将用户定义的文字扩展到复合词?
是否可以扩展文字运算符以返回化合物?
例子: