由于operator,逗号运算符 重载存在,泛型库对于 if ( A(), 123) 这样的逗号连接表达式应在中间插入(void),如 A(), (void), 213。
由于operator& 取址运算符 重载存在,泛型库应使用std::addressof取地址
for (auto& element : container)
由于container可能是迭代器代理型容器 std::vector< bool> 会导致引用无法承接 AClassType operator*()。用auto&& element可以处理这种情况
for (auto&& element : container)