这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.
与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误和促进糟糕的编程风格.
请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 在 C++聊天室讨论您的添加后.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.
*注意:常见问题和其他资源可以在C++标签信息和c ++ - faq中找到.
在C中,如果我想创建一个矩阵结构,我会使用:
struct matrix {
int col, row;
double data[1]; // I want the matrix entries stored
// right after this struct
}
Run Code Online (Sandbox Code Playgroud)
然后我可以分配它
matrix* allocate_matrix(int row, int col) {
matrix* m = malloc(sizeof(matrix) + sizeof(double) * (row * col - 1));
m->row = row; m->col = col;
return m;
}
Run Code Online (Sandbox Code Playgroud)
现在我在C++中做等效吗?
编辑:
我想知道在C++中实现矩阵类的方法.
我正在尝试创建一个class grid包含数据成员的unsigned NR,unsigned NC它还应该包含一个2D数组double Coordiantes[NR][NC]。我希望初始化数据成员NR,并NC通过类的构造函数。我试图避免二维数组的动态分配,因为我更喜欢连续内存分配,以便尽可能避免缓存丢失。
我不确定是否可以,但是任何输入都会有所帮助。