当我从一行移动光标而不在其上键入任何内容时,VS Code 似乎会自动删除该行中的空格,因此,当我将光标放回该行时,它最终会向左对齐,迫使我使用 Tab再次达到所需的缩进级别。我要更改什么设置才能让它不那样做?我试过谷歌搜索这个问题,但所有的答案都是关于用正则表达式删除空行,这根本不是我的问题。
我希望有一个模板类,里面有模板方法,并且在类外定义该方法.我试着寻找答案,但找不到答案.
例如:
template<typename A> class Type {
private:
A value;
public:
template<typename B> A Method(B value) {
// some code here, it's not important for the sake of this example
}
}
Run Code Online (Sandbox Code Playgroud)
如何将方法的定义移到Method类体之外?提前致谢.
这是程序:
#include <iostream>
#include <functional>
struct Foo
{
inline Foo() {
std::cout << "foo constructor" << std::endl;
}
inline ~Foo() {
std::cout << "foo destructor" << std::endl;
}
};
void NotBroken()
{
Foo foo;
std::function<void(Foo&)> callback;
callback = [](auto&) { // <- notice the auto&
std::cout << "executed callback" << std::endl;
};
callback(foo);
}
void TotallyBroken()
{
Foo foo;
std::function<void(Foo&)> callback;
callback = [](auto) { // <- notice the auto without &
std::cout << "executed callback" << std::endl;
};
callback(foo); …Run Code Online (Sandbox Code Playgroud)