小编Rei*_*ani的帖子

如何初始化需要执行计算的const成员?

我理解为一堂课

class A { 
     const int myint;
  public:
     A (const int yourint);
     A (const std::string yourstring);
};
Run Code Online (Sandbox Code Playgroud)

我可以myint在初始化列表中初始化,如下所示:

A::A (const int yourint) : myint (yourint) {};
Run Code Online (Sandbox Code Playgroud)

但是,myint如果计算它所需的数据来自字符串并且可能涉及计算,那么从第二个构造函数初始化的正确方法是什么?

c++ constructor const class

18
推荐指数
4
解决办法
1472
查看次数

如何找到给定GArray的长度?

我有一个Grray的GValue(全部为非零),它已在运行时使用g_array_append_val分配.我想知道如何才能找出最后一个元素的索引是什么,或者更确切地说是数组所包​​含的元素数量.代码就像


for (length=0;g_value_get_int(&g_array_index(array, GValue, length)); length++);
return length
Run Code Online (Sandbox Code Playgroud)

会因为出界而失败.

c glib

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

SQL:将行拆分为两行

我有一张看起来像这样的桌子

|  ID  |   item1   |   item 2  | 
|   1  |     A1    |     B1    |
|   2  |     A2    |     B2    |
Run Code Online (Sandbox Code Playgroud)

我希望得到这样的东西:

|  ID  |   item  |
|   1  |    A1   |
|   1  |    B1   |
|   2  |    A2   |
|   2  |    B2   |
Run Code Online (Sandbox Code Playgroud)

在某种意义上,它与这个SO问题相反.

mysql sql row

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

将 std::vector 移动到 std::array

std::vectorstd::array存储在存储器的连续块他们的数据。假设我有

class T;    // A movable class
T t;
std::vector<T>  vec;
vec.push_back(t);

std::array<T,1> arr;
Run Code Online (Sandbox Code Playgroud)

假设如上所述,我保证知道vec并且arr具有相同的长度。有没有一种方法可以让我移动 vecarray而不是用 复制它std::copy(vec.begin(), vec.end(), arr.begin())

c++

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

静态转换工作和动态转换段错误

以下代码编译并正常工作:

#include<iostream>

class Base {
    protected:
        int _a;

    public: 
        virtual ~Base()=default;
        Base(int a) : _a{a} {};

        int getit() const { return _a; }
};

class Derived : public Base {
    public:

        Derived(int a) : Base{a} {};
        int get2() const { return 2*this->_a; }
};

int main() {
    Base D{2};
    auto* ptr = &D;
    auto* ptr2 = static_cast<Derived*>(ptr);


    std::cout << ptr2->get2() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出

4
Run Code Online (Sandbox Code Playgroud)

如果我改变static_castdynamic_cast它出现segfaults。

我的问题: 使用static_cast强制转换为不添加任何数据成员的派生类是否安全?

c++ dynamic-cast static-cast

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

标签 统计

c++ ×3

c ×1

class ×1

const ×1

constructor ×1

dynamic-cast ×1

glib ×1

mysql ×1

row ×1

sql ×1

static-cast ×1