小编Nuj*_*fas的帖子

ms-vscode.cpptools 占用大量 CPU

我正在 Ubuntu 上工作,并通过 VSCode 使用 MS Remote SSH 作为远程资源管理器的一部分。当我安装 C/C++ (ms-vscode.cpptools) 扩展时,它占用了大量 CPU%,通常约为 95%。我认为这可能是一次性的事情,但它一直以该百分比运行,使得其他一切 (编译项目)非常慢。

我喜欢这个扩展的功能,因为我之前在其他机器上使用过它,没有出现任何问题。但是,如果它保持在该使用水平,我就无法使用它。有什么解决方法吗?我看过一些 github 辩论,但没有什么进展。

从系统监视器: 在此输入图像描述

vscode-extensions

14
推荐指数
1
解决办法
1万
查看次数

如何调用 lambda 模板?

我能够使用 gcc 编译以下代码:

template<typename... Pack>
auto func(Pack... x) {
    return (x + ...) ;
}

template<typename... Pack>
auto lamd = [](Pack... x) {
    return (x + ...) ;
};
Run Code Online (Sandbox Code Playgroud)

我可以使用 调用函数模板,但使用或func(1,2,3)调用 lambda 时出现错误。lamd(1,2,3)lamd<int>(1,2,3)

c++ lambda variadic-templates

6
推荐指数
2
解决办法
1320
查看次数

如何完全禁用所有 bazel 规则的远程缓存?

我的网络非常非常非常慢。我不想使用远程缓存。是否有任何标志可以防止使用远程缓存?

bazel

5
推荐指数
2
解决办法
6799
查看次数

我可以将 unique_ptr 的引用传递给函数吗?

我可以将 unique_ptr 的引用传递给函数吗?如果不是,我为什么要避免它?

前任:

void func(unique_ptr<Clss>& ref);

main() {
   unique_ptr<Clss> a = std::make_unique<Clss>();
   fn(a);
}
Run Code Online (Sandbox Code Playgroud)

c++

4
推荐指数
2
解决办法
6525
查看次数

可变参数模板-递归函数-最后一个可变参数成员

我有以下代码,以及从以下站点复制的可变参数模板:https : //www.youtube.com/watch?v= iWvcoIKSaoc @ 41:30

auto sum() { return 0; }

template<typename Head, typename... Tail>
auto sum(Head head, Tail... tail)
{
    return head+sum(tail...);
}

int main() {
    cout<< sum(1,2.4) << endl;
    //cout<< sum("hello ", "world") << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:1.这里需要sum()函数,这样我才能为处理最后一个可变参数成员时传入的void提供一个返回值-是否可以避免编写此sum()函数并且具有相同的值功能?

  1. 从sum()函数返回整数'0'会限制整个模板使用整数-我可以扩展同一模板来连接字符串吗?

谢谢

c++ type-traits variadic-templates

4
推荐指数
1
解决办法
68
查看次数

纯虚函数的模板专业化

如何专门化在基类中定义为纯函数的模板化函数?

struct A {
    virtual void func(int a) = 0;
    //virtual void func(int a) {} // replace above line with this and it works
};

struct B : public A {
    template<typename T> void func(T t) {
        cout <<"hello"<<endl;
    }
};
template<> void B::func<int>(int a) { cout <<"hello 2"<<endl; }


int main() {
    B b;
    b.func(2);
}
Run Code Online (Sandbox Code Playgroud)

错误:

错误:变量类型“ B”是抽象类B b;^注意:'B'中的未实现的纯虚拟方法'func'虚拟void func(int a)= 0;

c++ templates virtual-functions

3
推荐指数
1
解决办法
100
查看次数

具有默认值的默认模板参数?

我们可以有以下内容并且它是有效的:

template<std::size_t Size = 10>
fn(){...}


template<typename Size = std::size_t>
fn() {...}
Run Code Online (Sandbox Code Playgroud)

但是如何做到这一点呢?

template<typename Size = std::size_t=10>
fn() {...}
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
69
查看次数