草庐IT

checked_delete

全部标签

c++ - C++14 是否要求删除表达式必须调用 `void operator::delete(void*, std::size_t)` 而不是 `void::operator delete(void*)` ?

根据thisvoidoperatordelete(void*);(1)voidoperatordelete[](void*);(2)voidoperatordelete(void*,conststd::nothrow_t&);(3)voidoperatordelete[](void*,conststd::nothrow_t&);(4)voidoperatordelete(void*,std::size_t)(5)voidoperatordelete[](void*,std::size_t)(6)voidoperatordelete(void*,std::size_t,conststd:

c++ - 概念 : checking signatures of methods with arguments

我一直在研究概念。这是一个最小的例子,我试图在其中创建一个基于方法签名的概念:templateconceptboolmyConcept(){returnrequires(Ta,inti){{a.foo()}->int;{a.bar(i)}->int;};}structObject{intfoo(){return0;}intbar(int){return0;}};static_assert(myConcept(),"ObjectdoesnotadheretomyConcept");令我惊讶的是,编写{a.bar(int)}->int不起作用,所以我求助于向requires表达式添加一个额

c++ - 正确重载 new/delete new[]/delete[]

这是我之前问题的后续,Initializingaclassusingmalloc接受的问题答案有效并在avr-gcc上给我新建/删除,这是问题所在,但我重载的新删除对常规gcc造成严重破坏,重载新删除的正确方法是什么我所有的类派生自一个通用的基类,所以理想情况下我只想为我的对象覆盖新的删除,这样它就不会与STLstdlib等混淆。 最佳答案 'new'和'delete'可以在公共(public)Object基类中重载。因此,这将仅适用于该层次结构。classObject{public:void*operatornew(size_ts

c++ - delete[] 字符数组

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:delete[]suppliedamodifiednew-edpointer.UndefinedBehaviour?假设我使用newchar[number]分配了一些字符。是否可以只删除几个结束字符(类似于delete[](charArray+4);,据说会取消分配除前四个字符之外的所有字符)?我读到一些实现的new[]存储对象数组之前分配的对象数,以便delete[]知道要取消分配多少对象,所以按照我的要求做可能不安全......谢谢。编辑:使用单独的delete语句手动删除不需要的结束字节是否是一种安全的

c++ - 使用 C++0x : call to deleted constructor of 时的 clang++ 错误消息

您好,我已经将我的Xcode升级到4.2版,并将clang++升级到以下版本:Appleclangversion3.0(tags/Apple/clang-211.10.1)(basedonLLVM3.0svn)Target:x86_64-apple-darwin11.2.0Threadmodel:posix当尝试使用clang-std=c++0x编译以下代码时#include#include#includeclassilpConstraintImpl{public:virtual~ilpConstraintImpl(){}};classilpConstraint{public:ilpC

delete Action的Laravel 5.4中的MethodNowallowhallowedhttpexception

我正在研究Laravel5.4应用程序,其中我希望使用户能够删除他们上传的某些图像。图像有一个小的x在右上角,使模态弹出。我添加了模态形式的部分代码。当我想提交销毁选项时,我会收到错误:(1/1)rutecollection.php中的methodnotallowedhttpexception(第251行)有人可以帮我解释我做错了什么。我尝试将表格中的方法更改为DELETE并将路由文件更改为get,post,any等等模态弹出窗口:original_file}}"data-value="{{$progressPicture->id}}">×模态形式:AnnulerenVerwijd

C++ : Check if the template type is one of the variadic template types

这个问题在这里已经有了答案:Checkifatypeispassedinvariadictemplateparameterpack(3个答案)关闭7年前。假设我们有函数:templatevoidfoo(){...};检查“Kind”类型是否是C++(包括C++1z)中的“Kinds”类型之一的最简单方法是什么?

python - PyArray_Check 使用 Cython/C++ 给出段错误

谢谢大家。我想知道什么是#include的正确方法所有numpyheader以及使用Cython和C++解析numpy数组的正确方法是什么。下面是尝试://cpp_parser.h#ifndef_FUNC_H_#define_FUNC_H_#include#includevoidparse_ndarray(PyObject*);#endif我知道这可能是错误的,我也尝试了其他选项,但没有一个有效。//cpp_parser.cpp#include"cpp_parser.h"#includeusingnamespacestd;voidparse_ndarray(PyObject*obj){

c++ - 如果我在使用新程序和结束程序分配数据后没有调用 delete 运算符,会发生什么情况?

如果我在使用new分配数据后没有调用delete操作符会发生什么。我知道已分配的数据在释放之前不可用,但在程序结束后?为什么PC看起来很恶心xD,我的意思是它很慢但是过了一段时间它的性能变得更好但不像程序执行之前那样?注意:我运行的是WindowsXP。 最佳答案 当程序结束时,它请求的所有内存(堆栈、堆等)都被操作系统要求。 关于c++-如果我在使用新程序和结束程序分配数据后没有调用delete运算符,会发生什么情况?,我们在StackOverflow上找到一个类似的问题:

c++ - delete my_object 时到底发生了什么;被执行? sizeof(MyClass) 是否将所有其他内存向左移动?

为了这个问题,我将把内存想象成一个简单的字节数组,我将讨论堆内存,因为它可以动态分配。假设我正在实例化某个类,并在已经分配了一些内存的堆上创建一个对象。然后,在创建对象之后,我分配了更多的内存(可能通过实例化另一个类)。当然,这意味着使用new和delete关键字。内存现在看起来是这样的:...bytebytemy_object...my_objectbytebyte...执行deletemy_object;时到底发生了什么?sizeof(MyClass)是否将所有其他内存向左移动?如果有,由谁负责?操作系统?那么当没有操作系统提供虚拟内存时会发生什么? 最