这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.
与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误和促进糟糕的编程风格.
请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 在 C++聊天室讨论您的添加后.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.
*注意:常见问题和其他资源可以在C++标签信息和c ++ - faq中找到.
如何返回存储在a中的多维数组 private我的类字段中?
class Myclass {
private:
int myarray[5][5];
public:
int **get_array();
};
// This does not work:
int **Myclass::get_array() {
return myarray;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法转换
int (*)[5][5]为int**回报
我是C的新手.我试图从一个函数返回一个二维数组.就是这样的
int *MakeGridOfCounts(int Grid[][6])
{
int cGrid[6][6] = {{0, }, {0, }, {0, }, {0, }, {0, }, {0, }};
int (*p)[6] = cGrid;
return (int*)p;
}
Run Code Online (Sandbox Code Playgroud)
我知道这会导致错误,需要帮助.谢谢
我试图在C++中使用2D数组创建MxN矩阵.
createMatrix()函数请求矩阵项的用户输入,printMatrix()函数必须打印矩阵.
但打印任务不起作用(我无法访问创建的数组,我不明白为什么)
我收到错误:
matrix.cpp:35:20: error: invalid types ‘int[int]’ for array subscript
cout << matrix[i][j];
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是:
#include "iostream"
using namespace std;
// user input matrix
int createMatrix(int m, int n){
int arr[m][n];
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
cout << "A[" << i << "][" << j << "] : ";
cin >> arr[i][j];
}
cout << endl;
}
return arr[m][n];
}
/*
void printMatrix(int matrix[][2], int m, int n){ …Run Code Online (Sandbox Code Playgroud) 我正在做我的个人项目。我想知道的是这个
class Tile
{
private:
char mBlockTile[22][24];
Run Code Online (Sandbox Code Playgroud)
我只想通过 getter 返回那个二维数组,比如
char* GetBlockTile()
{
return mBlockTile;
}
Run Code Online (Sandbox Code Playgroud)
但我完全不知道该怎么做。我多次修改函数的数据类型并尝试返回二维数组,但它不起作用。:( 请尽快帮助。谢谢!