小编Deu*_*hie的帖子

如何使用 VS Code 在弹出控制台窗口中运行程序?

目前,我的 C++ 程序嵌入在 VS Code 窗口的底部面板中运行。如何像在 VS 中一样在单独的控制台窗口中运行它?

我尝试将“设置/终端/资源管理器”选项“种类”从“集成”更改为“外部”,但效果不佳。

c++ windows visual-studio-code

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

如何使用概念在 C++ 20 中提供默认实现?

我正在试验使用conceptC++20 中引入的 s 作为静态接口的可能性。到目前为止,我做得很好,只是我无法找到一种为概念提供“默认实现”的方法。

例如,我有一个名为 的概念ByteBuffer,它是这样表述的:

template <typename T>
concept ByteBuffer = requires (T t) {
  { t.read_byte() } noexcept -> std::convertible_to<uint8_t>;
  { t.has_byte() } noexcept -> std::same_as<bool>;

  /* default implementation for `t.read_until(...)`? */
};
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,我应该能够为t.read_until(...)(省略参数)提供默认实现,并允许具体实现覆盖默认实现。有办法吗?我该怎么做?

如果这是不可能的,我认为添加这样的能力是合理的。

目前,我不得不求助于 CRTP 来提供一个外观类,我认为它比我想象的更加多余。

c++ oop interface c++-concepts c++20

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

标签 统计

c++ ×2

c++-concepts ×1

c++20 ×1

interface ×1

oop ×1

visual-studio-code ×1

windows ×1