gpt4 book ai didi

c++ - 自定义字符串文字

转载 作者:行者123 更新时间:2023-11-30 04:26:28 24 4
gpt4 key购买 nike

出于好奇,我想知道不同的文件如何能够分配某些符号以将它们的常规 C 字符串文字更改为其他文字。

例如...

在Objective-C中,NSString字面量可以写成@"..."

在 C++ 中(我认为),C++ 字符串字面量写成 S"..."

在 wchar 库中,wchar_t 文字是 writtel L"..."

谁能告诉我如何做一个字符串,比如 MyClass literal as #"..."

谢谢

最佳答案

你只能使用这样的东西。

#include <iostream>
#include <string>

struct MyClass
{
public:
MyClass(const char* a, size_t sz):
s(a, sz)
{
}
std::string get() const { return s; }
private:
std::string s;
};

MyClass operator "" _M(const char* arr, size_t size) { return MyClass(arr, size); }

int main()
{
MyClass c = "hello"_M;
std::cout << c.get() << std::endl;
}

C++11 允许用户定义文字。 http://liveworkspace.org/code/cfff55e34d3b707e1bf0cb714e8e8f29
但是没有定义前缀文字的能力。

关于c++ - 自定义字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11572219/

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