相关疑难解决方法(0)

将std :: array与初始化列表一起使用

除非我弄错了,否则应该可以通过以下方式创建一个std:array:

std::array<std::string, 2> strings = { "a", "b" };
std::array<std::string, 2> strings({ "a", "b" });
Run Code Online (Sandbox Code Playgroud)

然而,使用GCC 4.6.1我无法使其中任何一个工作.编译器简单地说:

expected primary-expression before ',' token
Run Code Online (Sandbox Code Playgroud)

然而初始化列表与std :: vector一起工作正常.那是哪个呢?我错误地认为std :: array应该接受初始化列表,还是让GNU标准C++库团队搞错了?

c++ libstdc++ c++11

54
推荐指数
2
解决办法
3万
查看次数

std :: array vs array performance

如果我想构建一个非常简单的数组

int myArray[3] = {1,2,3};
Run Code Online (Sandbox Code Playgroud)

我应该用std::array吗?

std::array<int, 3> a = {{1, 2, 3}};
Run Code Online (Sandbox Code Playgroud)

使用std :: array比使用常规的有什么好处?性能更高吗?更容易处理复制/访问?

c++ c++11 stdarray

53
推荐指数
6
解决办法
3万
查看次数

通过指针传递二维数组

如何将m矩阵传递给foo()?如果我不被允许更改代码或foo()的原型?

void foo(float **pm)
{
    int i,j;
    for (i = 0; i < 4; i++)
        for (j = 0; j < 4; j++)
            printf("%f\n", pm[i][j]);

}

int main ()
{
    float m[4][4];

    int i,j;
    for (i = 0; i < 4; i++)
        for (j = 0; j < 4; j++)
            m[i][j] = i+j;

    foo(???m???);
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

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

标签 统计

c++ ×2

c++11 ×2

arrays ×1

c ×1

libstdc++ ×1

pointers ×1

stdarray ×1