我已经告诉别人,编写using namespace std;代码是错误的,我应该用std::cout和std::cin直接代替.
为什么被using namespace std;认为是不好的做法?是低效还是冒着声明模糊变量(与名称std空间中的函数具有相同名称的变量)的风险?它会影响性能吗?
我有以下(修改后的)代码,我想在其中创建对象数组std::string_view。
对应每一行编译时我看到这个错误
\nunable to find string literal operator \xe2\x80\x98operator""sv\xe2\x80\x99 with \xe2\x80\x98const char [8]\xe2\x80\x99, \xe2\x80\x98long unsigned int\xe2\x80\x99 arguments\n "Sensor2"sv,\nRun Code Online (Sandbox Code Playgroud)\n代码:
\n#include <iostream>\n#include <array>\n#include <string_view>\n\nstruct Abc\n{\n static constexpr std::array<std::string_view, 6> SomeValues = {\n "Sensor1"sv,\n "Sensor2"sv,\n "Actuator1"sv,\n "Actuator2"sv,\n "Cpu1"sv,\n "Cpu2"sv\n };\n \n};\n\n\nint main()\n{\n Abc abc;\n \n std::cout << abc.SomeValues[3];\n\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n