rvalue

    0热度

    1回答

    将Rvalue传递给拷贝构造函数或赋值运算符似乎对我来说是一件非常重要的事情。例如: int a = b+c; 或 int a; a = b+c; 没有这将是很难做到的数学计算。 但我无法做到这一点与一个类。这里是我的代码 #include <iostream> using namespace std; struct node{ public: node(int n)

    5热度

    3回答

    我正在用指针实现方式在不可变对象上实现装饰器模式。基本上我的设置是这样的 struct Object : ObjectBase { void doSmth() override { impl->doSmth(); } // this is the function I'd like to implement Object decorateWith

    7热度

    1回答

    具有结构 struct Person{ Person(int i , int g):id(i),age(g){}; int id; int age; }; 我可以通过传递指针构件数据作为参数起作用动态地返回构件的数据。 e.g使用 int extract(Person * p , int Person::* param) { return p ->*

    0热度

    1回答

    假设我有这样的: template <typename CharType> class StringView { private: const CharType* m_String; size_t m_Length; public: template <typename CharTraits, typename StringAlloc> inlin

    1热度

    2回答

    我怀疑我隐约知道我正在观察的原因,但我想确认或更正以及对它的一些解释。 我有以下代码: template <class T> class C { public: C() = default; C(const C& rhs) : mem(rhs.mem) { std::cerr << "copy" << "\n"; } //

    1热度

    1回答

    提供默认构造函数参数时给出分段错误**编辑:默认构造函数不会导致问题。我在下面说明了原因。我已经标记并投票结束这个问题,对于现在有这个职位的任何人有任何歉意。 ** int n = numCourses; vector<pair<int, unordered_set<int>>> graph(n, make_pair(0, unordered_set<int>())); // pair of h

    0热度

    1回答

    我目前正试图重构一些使用原始类型的代码,使其可以将setter和getter放入它们中。我想让底层代码的变化透明,起初我通过C++的操作符重载会帮助我。例如,我们可以假设我想创建一个“增强的int”类型,该类型可以像对待常规int一样对待,但允许在我分配给它的任何地方采取进一步的操作,并且只需赋值 - 所有其他属性应加以保存,如int,如加入+=。 起初我第一次的是,如果我封装的一些结构里面int

    15热度

    3回答

    我想知道在函数中传递r值时的C++行为。 看看这个简单的代码: #include <string> void foo(std::string&& str) { // Accept a rvalue of str } void bar(std::string&& str) { // foo(str); // Does not compile. Compiler sa

    0热度

    1回答

    我使用这个类的功能,而不是我写的,我不能改变它的代码: class A { private: Val d_val; public: void setVal(const Val& val) { d_val = val; } const Val& getVal() const { return d_val; } }; Val支持移动,但类A没有考虑到这一点被写入

    3热度

    2回答

    下面是一个函数模板 template <class T> void func(T&& t) { } func(4); // 4 is rvalue and T deduces to int 所以我的问题是,为什么T没有演绎为int & &? 我的意思是如果T推断为int & & ,这样诠释& & & & - > INT & &这也是情理之中的我!