我想写一些使用不同类型货币的代码,例如
struct euro {
int value;
};
struct dollar {
int value;
};
现在我想在代码中使用欧元和美元符号,比如
euro e = 3€;
dollar d = 3$;
这有可能吗?
最佳答案
你需要的是user defined lietrals .下面的代码对我使用 g++ 11.1.0
有效,但我猜非 ASCII € 可能会有一些问题。也许尝试使用 EUR
后缀?对于负值,请参阅 this .
#include <charconv>
#include <cstring>
#include <iostream>
struct euro
{
unsigned long long val;
};
euro operator"" _€ (unsigned long long num)
{
return euro {num};
}
int main()
{
euro e = 123_€;
std::cout << e.val << '\n';
}
关于c++ - 如何使用美元/欧元符号登录代码来初始化变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70435254/