在线等 C++ 解惑

baobaodediaozhui baobaodediaozhui 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include "stdafx.h"
#include <iostream>
using namespace std;
struct S{
void *operator new(unsigned int size,void *p,int i)
{
((S*)p)->i = i;
return p;
}
int i;
};
S ss;
S *pss = new(&ss,10)S();

int main()
{
cout << ss.i << " " << pss->i << endl;
S *pss2 = new(&ss,20)S();//加了()就是0,不加就是20 为什么?
cout << ss.i << " " << pss2->i << endl;
getchar();
return 0;
}
问题:
在S *pss = new(&ss,10)S();
和S *pss2 = new(&ss,20)S();
这两句中,如果S后面不加()则就是穿进去的数字,但加了后就是0了。但是但不调试时发现确实进了new函数,i的值也改变了,但执行完后,如果加了(),i又变成0了

在线等,一直没搞懂S后加()和不加的区别!
谢谢!
...全文

相关推荐

cpp-Sanguosha是一个流行的在线棋盘游戏

Sanguosha是一个流行的在线棋盘游戏,这个项目试图克隆Sanguosha在线版本。 整个项目是用C 编写的,使用Qt 的图形视图框架作为游戏引擎。 我试过许多其他开源游戏引擎

weixin_39841848

cpp-Web在线斗地主游戏

Web在线斗地主游戏

weixin_39840650

cpp-programming-practice:北大 C++ 程序设计实习在线公开课课程作业,包括课程作业和编程作业

cpp-programming-practice 北大 C++ 程序设计实习在线公开课课程作业,包括课程作业和编程作业

信念与梦想

推荐几款实用的C++ 在线工具

Wandbox 支持多种编程语言 * 多个编译器版本在线编译运行的网站。 可以在这里做方便、快速地一些小实验、尝试一些编程语言的新特性,比如 C++20。 链接:https://wandbox.org/ Quick C++ Benchmark 可以快速对一些 C++ 代码片段进行 benchmark 并可视化显示出来。 支持多个版本的 clang 和 gcc。 背后用的应该是 google benchmark 这个开源库,你也可以在自己的机器上安装这个库。 链接:https://quick-bench.com/q/eP40RY6zDK-eJFdSSPBINa0apTM

weixin_38640072

5款C++在线编译器推荐[代码]

本文推荐了5款常用的C++在线编译器,包括Coding Ground、Codechef、Geeksforgeeks、OnlineGDB和Compiler Explorer。这些编译器均支持C++14,并具备代码高亮、错误提示等基本功能。其中,Coding Ground功能全面但缺少智能提示;Codechef功能完善但执行速度较慢;Geeksforgeeks支持全屏模式但自定义设置有限;OnlineGDB支持调试但不支持创建文件;Compiler Explorer适合查看汇编代码但功能复杂。每款编译器各有优缺点,用户可根据需求选择适合的工具。

数据雪人
评论 10
收藏 已收藏
分享
返回顶部
baobaodediaozhui
C++ 语言 65,214 成员 250,514 内容