如何为字符串重载左移位运算符,有人可以帮助我吗?:
const char*
{
int operator<<(const char* rhs)
{
return std::atoi(this) + std::atoi(rhs);
}
}
int main() {
const char* term1 = "12";
const char* term2 = "23";
std::cout << (term1 << term2);
}
Run Code Online (Sandbox Code Playgroud)
(上面的代码不编译)
预期产量: 35
基本上我的交换机案例在那些我认为不符合的条件的语句中无法正常工作,无论如何都在执行.
输入示例:
CerseiTyrion
Run Code Online (Sandbox Code Playgroud)
预期产量:
Cersei
Tyrion
Run Code Online (Sandbox Code Playgroud)
实际产量:
Cersei
Tyrion
Jon
Dany
Tyrion
Jon
Dany
Run Code Online (Sandbox Code Playgroud)
以下功能的目标是解析冒险游戏的一些输入文本,让游戏了解文本中包含的一些重要信息.然后它继续使用它发现的执行代码,如果满足某些条件,该代码应始终与函数的其余部分一起运行.
最小,完整; 可验证的例子:
void HandleGameState( const std::string& text ) {
enum Characters {
Cersei = 0x01,
Tyrion = 0x02,
Jon = 0x04,
Dany = 0x08
};
unsigned int mask = 1;
switch( characterMask & mask )
{
case Cersei:
{
std::cout << "Cersei" << std::endl;
};
case Tyrion:
{
std::cout << "Tyrion" << std::endl;
};
case Jon:
{
std::cout << "Jon" << std::endl;
};
case Dany: …Run Code Online (Sandbox Code Playgroud)