【发布时间】:2022-01-22 17:00:51
【问题描述】:
在 C++ 语言中声明变量时,我们可以使用像 ₹ 和 $ 这样的货币符号吗?
我试图在谷歌上找到答案,但我不清楚。我们不能在 c++ 语言的变量名中使用像 #、*、% 这样的特殊符号,但是我们可以使用像 ₹ 这样的货币符号吗和$ 作为变量名?
【问题讨论】:
在 C++ 语言中声明变量时,我们可以使用像 ₹ 和 $ 这样的货币符号吗?
我试图在谷歌上找到答案,但我不清楚。我们不能在 c++ 语言的变量名中使用像 #、*、% 这样的特殊符号,但是我们可以使用像 ₹ 这样的货币符号吗和$ 作为变量名?
【问题讨论】:
如果你使用“用户定义的文字”,你可以。 https://en.cppreference.com/w/cpp/language/user_literal 然而,并非所有编译器都会对卢比特殊字符感到满意(MSVC 接受它) 这里的例子:
#include <iostream>
struct dollars_t
{
double value;
};
struct rupees_t
{
double value;
};
constexpr dollars_t operator "" _$(long double value)
{
return dollars_t{ static_cast<double>(value) };
};
constexpr rupees_t operator "" _₹(long double value)
{
return rupees_t{ static_cast<double>(value) };
};
int main()
{
auto dollars = 10.12_$;
auto rupees = 1000.12_₹;
std::cout << "You have " << dollars.value << " dollars\n";
std::cout << "And you have " << rupees.value << " rupees\n";
return 0;
}
【讨论】:
int ₹ = 0;