小编Div*_*ero的帖子

为什么calloc需要两个参数而malloc只需要一个?

我总是写作非常麻烦calloc(1, sizeof(MyStruct)).我不想使用包装此方法等的想法.我的意思是我想知道两个参数给了我什么?如果它给出了什么,为什么没有malloc两个参数?

顺便说一句,我搜索了这个问题的答案,但我没有找到一个非常好的答案.那些答案是calloc可以分配比罐子malloc等更大的块.

我看到另一个calloc分配数组的答案.随着malloc我可以繁殖,我会得到一个数组,我可以在没有1,开始时使用它.

c memory-management

14
推荐指数
2
解决办法
4517
查看次数

C++ - 最快的检查数组边界

我需要一种非常快速的方法来检查数组的边界.我目前的检查范围是:

template<typename T>
class SmartArray {
    //...
    int size;
    T* array;
    T &operator[](int index) {
        if (index/size!=0)
            throw OUT_OF_RANGE; //#define OUT_OF_RANGE 0x0A
        return array[index];
    }
}
Run Code Online (Sandbox Code Playgroud)

有更快的方法来检查索引是否超出数组边界?

编辑:

我的解决方案是用负面索引制造麻烦.有办法解决这个问题吗?

c++ arrays

5
推荐指数
2
解决办法
8307
查看次数

编写像C#这样的代码是否合法?

例:

H

class MyClass {
    int x,y,z;
public:
    MyClass(int,int,int);
    void X();
    void Y();
    void Z();
};
Run Code Online (Sandbox Code Playgroud)

CPP

class MyClass {
    int x,y,z;
public:
    MyClass(int x,int y,int z) {
        this->x=x;
        this->y=y;
        this->z=z;
    }
    void X() {
        printf("x = %d;\n",x);
    }
    void Y() {
        printf("y = %d;\n",y);
    }
    void Z() {
        printf("z = %d;\n",z);
    }
};
Run Code Online (Sandbox Code Playgroud)

使它像C#一样.不要包含标题,在CPP中重新声明类,但使用方法体.当文件包含标题时,他从CPP获取extern字段\方法等.

这是合法的吗?我无法预测它的问题.有?

c++

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

C# - 手动调用GC.Collect()(禁用后台GC)

我想比较我在C++和C#的垃圾收集之间的性能.可以GC.Collect()手动拨打电话吗?(我想在特定的时刻运行它.)

c# garbage-collection

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

标签 统计

c++ ×2

arrays ×1

c ×1

c# ×1

garbage-collection ×1

memory-management ×1