以C++常见问题同时测 千问、kimi、 deepseek、豆包,比预测中好
·
提示:本文章主要是对比国内 千问、kimi、 deepseek 、豆包几个模型在C++上的表现
前言
`
前两天用了多个国内的模型,像 Qwen、kimi、 deepseek, 当前智谱也文小言就算了。 也试了https://botgroupchat.cn/ 想着找个系列的例子来真实对比看看。
另外我也直接给出结果:千问 这次胜出。
一、怎么测
直接借用 C++内存泄漏如何排查和处理? 一文内容来对照。
二、测试记录
1. 简单问题:提前返回导致未释放
代码如下(示例):
int* ptr = new int(42);
if (some_condition)
return;
delete ptr;
实测结果:
2.简单问题:智能指针使用不当
代码如下(示例):
std::shared_ptr<int> sptr(new int(42));

3. 简单问题:循环引用

4. 来个复杂点的:构造函数异常导致资源泄漏
class ResourceHolder {
public:
ResourceHolder() : data(new int[100]), file(fopen("config.bin", "rb")) {
if (!file) throw std::runtime_error("File open failed");
// 若此处抛出异常,已分配的 data 和 file 均泄漏
}
~ResourceHolder() {
delete[] data;
if (file) fclose(file);
}
private:
int* data;
FILE* file;
};

5.采用隐式定义问题
class Service {
public:
void startAsync() {
worker = std::thread([this] { runForever(); });
}
~Service() { if (worker.joinable()) worker.join(); }
private:
std::thread worker;
};

这里都有一点偏,但千问最接近。因为采用隐式定义的话,不会自己释放。
总结
整体来看:千问 这次胜出。 不过还得说整体比我预期的好。
更多推荐

所有评论(0)