相关疑难解决方法(0)

C++的隐藏功能?

当涉及到"问题线"的"隐藏特征"时,没有C++的爱吗?想我会把它扔出去.C++的一些隐藏功能是什么?

c++ hidden-features

114
推荐指数
38
解决办法
8万
查看次数

您从经验中学到了哪些与C++相关的习语,误解和陷阱?

您从经验中学到了哪些与C++相关的习语,误解和陷阱?

一个例子:

class A
{
  public: 
  char s[1024];
  char *p;

  A::A()
  {
    p = s;
  }

  void changeS() const
  {
    p[0] = 'a';
  }

};
Run Code Online (Sandbox Code Playgroud)

即使知道changeS是一个const成员函数,它也在改变对象的值.因此const成员函数只意味着它将所有变量视为const,并不意味着它实际上将所有成员保持为const.(为什么?成员函数上的const关键字将char*p视为char*const p;而不是const char*p;

因此,这意味着p不能指向别的东西.而不是你不能改变p的数据.

c++ idioms

27
推荐指数
9
解决办法
3105
查看次数

C++最佳学习路径:只是乌托邦?

C++是一门很棒的语言(imho).

但是从C++开始,作为一种全新的语言学习,你会建议哪种形成路径?

书籍,网站,任何可以加速学习而不需要知识和理解记忆和混淆的东西.确实是一条路径,它以结构化的方式导致C++知识和理解.

可能吗?

我问这个问题,因为我的一个朋友(php程序员)问我如何正确(和更好)开始学习C++.


编辑:

感谢大家的关注和合意答案.我正在接受菲尔的那个,因为在我看来,它非常反映了什么是更好的方法的理想.

但真的感谢大家的链接,意见和答案.他们很棒.

c++

5
推荐指数
1
解决办法
3798
查看次数

如何使用void指针生成2D动态数组?

有谁知道如何使用void指针生成2D数组而不是int指针?

对于整数指针,我这样做:

int **m;

m = new int* [row];     
for(int i=0; i< row; i++)     
        m[i] = new int[col];

for (int i = 0; i < row; i++)
       for (int j = 0; j < col; j++)
             m[i][j] = rand () % 10;
Run Code Online (Sandbox Code Playgroud)

如果指针类型为void***m怎么办?

我怎样才能像int那样定义存储?例如.(m = new int*[row];)

谢谢你的帮助.


请允许我更明确地指出我的问题,我给出了这些:

class Matrix
{
   public:
           Matrix();
           Matrix(int,int);

           void printMatrix();

   private:
           int row;
           int col;
           void***m;
           void initMatrix();      // Initialize the storage for row and column
           void generateMatrix (); // construct a 2D …
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×4

hidden-features ×1

idioms ×1