小编Ang*_*ros的帖子

Const引用字段作为C++类中的readonly属性

在C++类中使用const引用字段作为只读getter是否合适?

我的意思是,这段代码是否符合良好做法?

class check{
private:
    int _x;
public:
    const int& x = _x;
    void setX(int v){
        _x = v;
    }
};
Run Code Online (Sandbox Code Playgroud)

它非常像C#属性,恕我直言,并且在类使用代码中非常简单和干净:

  check s;
  int i;
  std::cin >> i;
  s.setX(i);
  std::cout << s.x << '\n';
  s.setX(7);
  // s.x = i; // Error
  std::cout<<s.x<<'\n';
Run Code Online (Sandbox Code Playgroud)

c++ oop properties reference design-principles

16
推荐指数
2
解决办法
1869
查看次数

哪些目标功能默认使用 rustc?

有一些target-features 可以通过向-C target-feature=+sse,+avx编译器添加参数来使用。可用功能可以使用 显示rustc --print target-features。还有一些默认激活的功能,例如 AMDx64 目标上的 SSE。

如何查看默认激活了哪些功能?我在任何地方都找不到它,并且当我运行cargo build --release --verbose.

rust rust-cargo

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

在 Rust 中使用什么来代替 `std::lower_bound` 和 `std::upper_bound`?

我们在 C++ 中拥有什么

C++ 有两个 STL 函数:std::lower_boundstd::upper_bound

std::lower_bound查找搜索值的第一个位置(如果存在),或者第一个值更大的位置。

std::upper_bound找到比请求值更大的第一个位置。

该函数一起允许用户找到半开迭代器范围,其中包含等于搜索值的所有值。

生锈

在 Rust 中,我们只有带有binary_search一些额外谓词的切片,但它可以返回值等于搜索到的任何位置。

我如何last value index + 1在 C++ 中找到第一个值索引或类似内容?

vector binary-search slice rust

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

是否有一个平台没有本机指针大小的原子,但具有其他大小的原子?

我正在对广泛使用的开源库进行重构,并希望使其尽可能强大。

目前,如果支持的话,它会使用原子size_t变量,但我想知道它是否会错过一些不起眼的平台,例如,32 位原子同时具有 64 位指针。

c++ multithreading atomic cpu-architecture rust

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

为什么 C++ 需要 std::make_unique 而不是转发的 unique_ptr 构造函数?

不会new operator这里那样问。请仔细阅读问题。

我想知道为什么我们需要特殊函数make_unique而不是 unique_ptr 的特殊构造函数。

unique_ptr可以使用这样的构造函数来使make_unique不必要的:

template<typename T, typename ...TArgs>
unique_ptr::unique_ptr(TArgs&&... args)
        : inner_ptr(new T(std::forward(args)...))
{}
Run Code Online (Sandbox Code Playgroud)

c++ unique-ptr

0
推荐指数
1
解决办法
1372
查看次数