new-operator相关内容

删除不是使用新表达式构造的对象实际上可以吗?

就目前而言,这可能不行.根据 cppref : 如果 expression 是其他任何东西,包括如果它是通过new-expression的数组形式获得的指针,则行为是不确定的. 放在一边,下面的代码在实践中是否可以使用(T是非数组,并假定未替换new)? auto p = (T*)operator new(sizeof(T)); new(p) T{}; delete p; 据 ..

在新表达式中分配内存后是否对初始化程序求值?

考虑代码 auto p = new T( U(std::move(v)) ); 则初始化器为U(std::move(v)).假设T( U(std::move(v)) )没有抛出.如果在基础内存分配之后对初始化程序进行了评估,则该代码将是强异常安全的.否则,事实并非如此.如果抛出了内存分配,则v应该已经被移动了.因此,我对内存分配和初始化程序评估之间的相对顺序感兴趣.它是定义的,未指定的还 ..

用C ++创建对象

不是 A a = new A(); // A is a class name 是否应该在C ++中工作? 我得到了: 从"A *"到非标量的转换 输入要求的"A" 那行代码怎么了? 这在Java中有效,对吧? 然后,用C ++创建类型为A的新对象的正确方法是什么? 解决方案 不,不是.新操作将返回指向新创建的对象的指针,因此您需要: A ..
发布时间:2020-05-17 19:54:43 C/C++开发

在考虑对中要求的同时,使操作员新手普遍超负荷工作

情况 我正在编写用于动态内存分配的内存管理器.对于class A在调用operator new(或delete)时使用它,class A从class CustomAllocate继承就足够了,而class CustomAllocate本身以new和delete重载的方式使用内存管理器. 问题 但是,显然我完全错过了对齐要求.不幸的是,CustomAllocate::new没有关于 ..

为什么在Java中将new称为运算符?

为什么new关键字在Java中称为运算符? 我知道new在Java中为对象动态分配内存并返回对其的引用,但是为什么将其称为运算符? 解决方案 实际上,Java语言规范并未将new称为运算符.它写入: 由ASCII字符组成的38个令牌是运算符. Operator: = > == >= ..
发布时间:2020-05-17 19:54:29 Java开发

我如何在C ++中声明一个在运行时确定的具有可变长度的数组?

请检查此代码,使其编译并运行完全正常. 问题是,当我开始学习c ++(turbo c ++)时,我再也无法将任何类型的数组声明为.. datatype var[variable_set_at_runtime]; 我认为这在最新的gcc编译器中是不可能的...但是令人惊讶的是,这是可能的... 所以我的相关问题是,那么新操作员又需要什么? 我知道新操作员会做很多事情,包括在运行 ..
发布时间:2020-05-17 19:54:25 C/C++开发

在C ++和Java中声明对象

我已经使用c ++一段时间了,我正在学习java 在Java中声明对象使我感到困惑, 在Java中我们编写 myclass myobject = new myclass(); myobject.mymethod(); 与c ++中的这段代码相同吗? myclass *myobject = new myclass(); myobject->mymethod(); 即是 ..
发布时间:2020-05-17 19:54:19 Java开发

new和new [1]有什么区别?

new和new[1]有什么区别?我可以将delete与new[1]一起使用吗? 编辑 很好,我应该提供背景信息,对此感到抱歉.我正在使用VS 2010评估BoundsChecker,当我在new [1]上使用delete []时,它抱怨内存泄漏.因此,从理论上讲,我知道应如何使用"new"和"delete"对,但是这种特殊情况使我对幕后的事物感到困惑.知道发生了什么事吗? 解决方 ..
发布时间:2020-05-17 19:54:08 C/C++开发

我真的可以用方括号初始化数组吗?

有时候,我在程序代码的一个地方打错了文字: int a = 10; char* b = new char(a); 错误很明显:我写了()而不是[].奇怪的是...代码已正确编译,已在调试器中正常运行.但是,执行了这些行的功能后,调试器外部的已编译.exe崩溃了. 第二行代码真的合法吗?如果是的话,对编译器意味着什么? 解决方案 它是单个字符,其数值为a,在本例中为10. ..
发布时间:2020-05-17 19:54:05 C/C++开发

Scala:伴随对象和“新"对象关键词

在我最近有关在Scala中使用或省略“新"关键字的帖子("new"关键字在Scala中),我被告知忽略是由于某些类具有在其上使用apply方法定义的伴随对象的事实.我的问题是:我们是否能够分辨出或有任何通用规则来区分哪些类/对象具有伴随对象并应用方法? 预先感谢,很抱歉这是一个愚蠢的问题,但是来自Java背景,这有点令人困惑. 解决方案 在 标准库中的大多数收集类和许多其他类都有带 ..
发布时间:2020-05-17 19:54:00 其他开发

找不到React/RCTBridgeDelegate.h'文件

我在终端上使用react-native init auth创建了一个名为auth的新项目.当我尝试使用react-native run-ios运行该项目时.构建失败,并提供了一个错误"React/RCTBridgeDelegate.h"文件. 试图更新react native版本 在Mac终端上的本机run-ios 我希望构建成功并查看ios模拟器 我得到的实际结果是构建失败,因 ..
发布时间:2020-05-17 19:53:58 其他开发

为什么不能像在方法上那样对类变量使用虚/覆盖?

在下面的示例中,我可以在继承的类中创建虚拟方法Show(),然后在继承类. 我想使用受保护的类变量 prefix进行相同的操作,但出现错误: 修饰语“虚拟"无效 为此项目 但是由于我无法在类中将此变量定义为 virtual/override ,因此我得到了编译器警告: TestOverride234355.SecondaryTransaction.prefix' 隐藏继承的 ..
发布时间:2020-05-17 19:53:53 C#/.NET