视觉输入字符串C++双 V 形

visual Input string C++ double chevron

本文关键字:C++ 输入 字符串 视觉      更新时间:2023-10-16

我目前正在尝试在字符串中使用双 V 形表示"<<"和">>"来表示位移。但是,我的程序似乎无法识别使用双 V 形进行任何输入。如果我将其更改为任何其他字符串,它可以完美运行。

derpleft将起作用,但是"<<"将不起作用。

keywords_["derpleft"]  = keywords_["<<"] = make<BitShiftLeft>();
keywords_["derpright"] = keywords_[">>"] =  make<BitShiftRight>();
dictionary_type keywords_;
typedef std::map<string_type,Token::pointer_type>   dictionary_type;
typedef std::string string_type;

我只是不明白这句话:

keywords_["derpleft"]  = keywords_["<<"] = make<BitShiftLeft>();

似乎您希望<<derpleft指向(存储)make<BitShiftLeft>调用返回的值。在这种情况下,为什么不简单地如下:

keywords_["derpleft"]  = make<BitShiftLeft>();
keywords_["<<"] =  make<BitShiftLeft>();

您可以将调用的值存储在某个局部变量中make(首选关键字auto)。

最重要的是,你没有提到问题是什么!

我忘了关闭这个线程,但问题是我没有在我的一个编辑器函数中将布尔值设置为 true。这只是我创造的一个逻辑错误。