【发布时间】:2019-03-04 17:05:53
【问题描述】:
由于我对 C++ 还很陌生,因此在处理我的学校作业时遇到了麻烦。我以前从未接触过异常。
我需要为我的任务做的是创建一个异常机制来计算可以在程序中分配多少内存(以 MB 为单位)。
我应该使用new[] 运算符和catch() 并且仅限于使用一个变量。
我已经尝试了这些代码,这就是我目前所拥有的。我不知道我是否走在正确的轨道上。任何建议表示赞赏。谢谢。
int main() {
char *mem;
unsigned long long count = 1;
while (1) {
mem = new char[1025 * 1054];
if (mem == NULL)
break;
free(mem);
count++;
}
std::cout << "count: " << count * 1024000;
}
【问题讨论】:
-
这不一定与异常有关,但您应该始终
free()你是什么malloc()、delete你是什么new和delete[]你是什么new[]。任何其他混合都是不好的。 -
@alterigel 哦,我明白了。谢谢!这种情况下如何实现 catch?
-
This 可能对你有用。
标签: c error-handling