首页 > TAG信息列表 > new-operator
linux new / delete,malloc / free大内存块
我们有一个运行许多CORBA Server进程的linux系统(kubuntu 7.10). 服务器软件使用glibc库进行内存分配.linux PC具有4G物理内存.由于速度原因,交换被禁用. 收到处理数据的请求后,其中一个服务器进程将分配一个大数据缓冲区(使用标准C运算符“ new”).缓冲区大小取决于许多参数,但通PYTHON:如何创建一个函数来接收变量输入,然后将其发送给另一个函数
我正在使用Learn Python the Hard Way,并练习了35的额外功劳,以简化操作.我想创建一个函数,然后向用户询问变量,然后将其返回给其他函数. 万一我没有道理… def action(): next = raw_input (">> ") return next def start(): print""" You are in a新Java技术JAXX
任何人都可以给我有关Java新技术JAXX的详细信息. 确实,我已经在整个网络上进行了搜索,但没有获得确切的详细信息来帮助我 用Java JAXX编写程序,编译&运行相同.它是Swing之前的一项新技术. 谢谢.解决方法:似乎伊森·尼古拉斯(Ethan Nicholas)在Jaxx上的作品并不是一个死项目. 阅读此python比较程序
我真的是编程新手(真的,真的很新),需要基础方面的帮助.我正在尝试用python编写一个程序,该程序将比较两个.txt文件的内容,一个是引用,另一个是源.内容是一个简单的随机名称列表,如果源中有不在参考中的任何名称,我希望它可以打印出来. 我已经看过该站点上的其他内容,但是每次尝试时Javascript`new`运算符和原型
假设我们创建了一个名为“形状”的函数,并添加了一个属性“名称”&原型上的方法“ toString”: var Shape = function () {}; Shape.prototype.name = 'Shape'; Shape.prototype.toString = function () { return this.name; } console.log(Shape.name); // '' console.log(Sh防止使用new()构建对象
在Unity游戏引擎中,尽管MonoBehaviour类的默认构造函数是公共的,但不能使用new()运算符构造所有源自MonoBehaviour类的类.这样做会在Unity日志中返回警告,并且不会实例化该对象,而将引用保留为空. 我很好奇它们在构造函数调用时如何防止对象被创建.我进行了一些研究,听说在对象的构c-数组大小(新[])
在调试堆中,我可以获取由new []创建的数组大小: int size = *((int *)((char *)ptr - 16)); 如果数组的大小小于28(但我不知道为什么?0_0),则它可以正常工作. 这个技巧在发布模式下有效吗(不使用调试堆)? 如何获得阵列的大小(100%稳定工作)?解决方法:您依赖于实现细节.这就是您的特定c-覆盖删除运算符
我想在班上重写delete运算符.这是我想做的,但没有成功. class Complex{ void *operator new(size_t s); void operator delete(void *ptr); }; void Complex::operator delete(void *ptr){ delete ptr; } 我得到错误: deleting void* is undefined**是新的幂运算符,而不是php中的power()
如何在新版本的php(5.6)中使用新版本的Power运算符代替pow()? 喜欢: echo pow(2,3); 解决方法:PHP 5.6中有一个示例**运算符 $i = 6; $i **=2; //output 36 $out = $i ** 3 //output 216 echo 2 ** 3 ** 2; // 512 (not 64) echo -3 ** 2; // -9 (not 9) echo 1 - 3 ** 2; // -c-什么是“ :: operator new”和“ :: operator delete”?
我知道new和delete是关键字. int obj = new int; delete obj; int* arr = new int[1024]; delete[] arr; <新>标头是C标准标头的一部分.它有两个运算符(我不确定它们是运算符还是函数): :: operator new ::运算符删除 这些运算符的用法如下: #include <new> using namespacec – Arduino的新运算符
我被告知(特别是在an answer to C++ Standard Library on Arduino,以及Stack Overflow问题C++ string and Arduino String. How to combine them?))Arduino编译器没有实现new运算符.但是,我已经为使用它的Arduino(在Arduino IDE中)编写了一个程序,它运行得很好. void setup() {c – 为什么重载的new运算符是隐式静态的,并且构造对象不需要范围解析
为什么重载的new运算符是隐式静态的,以及我们如何通过在没有作用域解析运算符的情况下调用重载的new运算符来分配内存? 在我看来,如果某些东西是静态的,那么我们可以通过类名称在main中调用它. class xyz { void* operator new (size_t size); //implicitly declared static是否可以将C智能指针与C的malloc一起使用?
我的一些代码仍然使用malloc而不是new.原因是因为我害怕使用new,因为它抛出异常,而不是返回NULL,我可以轻松检查.在try {} catch(){}中包含对new的每个调用也看起来不那么好.而当使用malloc我可以做if(!new_mem){/ *句柄错误* /}. 所以我有一个问题.我可以和malloc一起使用智能指针你怎么在C中’realloc’?
我怎样才能在C中重新分配?它似乎从语言中缺失 – 有新的和删除但没有调整大小! 我需要它,因为当我的程序读取更多数据时,我需要重新分配缓冲区来保存它.我不认为删除旧指针和新的更大的指针是正确的选择.解决方法:使用:: std :: vector! Type* t = (Type*)malloc(sizeof(Type)*n) me将onclick事件添加到JavaScript中新添加的元素
我一直在尝试将onclick事件添加到我用JavaScript添加的新元素中. 问题是当我检查document.body.innerHTML时,我实际上可以看到onclick = alert(‘blah’)被添加到新元素中. 但是当我点击该元素时,我看不到警报框正在工作.事实上任何与JavaScript相关的东西都不起作用.. 这是我用来c – 类型名称后的括号是否与new有所不同?
如果’Test’是一个普通的类,那么之间有什么区别: Test* test = new Test; 和 Test* test = new Test(); 解决方法:让我们变得迂腐,因为存在实际上会影响代码行为的差异.以下大部分内容来自对“Old New Thing” article的评论. 有时新运算符返回的内存将被初始化,有时它不会取决为什么C程序员应该尽量减少“新”的使用?
我偶然发现Stack Overflow问题Memory leak with std::string when using std::list<std::string>,one of the comments说: Stop using new so much. I can’t see any reason you used new anywhere you did. You can create objects by value in C++ and it’s one of thec – 运算符与函数行为
我正在阅读以下文件, https://code.google.com/p/go-wiki/wiki/GoForCPPProgrammers 并发现下面的陈述有点模棱两可: Unlike in C++, new is a function, not an operator; new int is a syntax error. 在C中,我们将运算符实现为函数,例如使用运算符. 那么一般来说编程语言中运算c – 具有替换运算符new的类的自定义std :: allocator
我最近用一些使用SSE的Vector / Matrix类替换了,现在我确保内存正确对齐. 根据this question的答案中的建议,我已经为需要它的类替换了operator new / delete,并开始使用自定义分配器与STL容器一起使用 – 但是,两者之间似乎存在一些冲突: 首先,我简单地复制并粘贴了here中的示例分java – Spring中new运算符的作用是什么
春天我很新.我对Spring注册类中的new运算符有疑问. 我创建了一个名为points的类. public class Points { // methods and variables} 我创建了另一个名为circle的类. public class Circle { Points p=new Points(); } 我在下面的弹簧容器中注册了Circle. <bean id="circle" clc – 使用与new中使用的类型不同的指针删除内存是否安全?
以下代码是否安全?有没有提到C标准来解决这个问题? // SomeStruct is POD: no constructors or destructor SomeStruct *pSS = new SomeStruct(); void *pV = reinterpret_cast<void*>(pSS); delete pV; 解决方法:这只适用于: >你删除一个指向基地的指针, >并且该基类具有虚拟析构函c – 自定义运算符new []请求大于预期的内存
我无法解释为什么在示例代码中调用new Foo [4]到自定义运算符new []请求68个字节 – 比它应该多4个字节(sizeof(Foo)== 16)而更神秘的调用Foo :: operator new [](4 * sizeof(Foo))正确地请求64个字节.注意当成员std :: vector< long>从Foo中删除m_dummy两个调用都正确请求16个字节添加时,java arraylist null指针异常
有人可以帮我理解为什么我在添加到我的数组列表时会得到一个空指针.我试图使它在单击按钮时更改按钮上的文本,但是我的ArrayList似乎没有将内容添加到其中? public class Game { private GUI gui; private ArrayList<String> pairs; boolean clicked; public Game() { gui =c – 创建链表时使用新运算符
在以下程序中: // illustration of linked list #include <iostream> using namespace std; struct node { int data; struct node* next; }; struct node* buildList(); int main() { struct node* head = buildList(); cout << head->data; } strucc – 删除或指定零指针
在代码中的什么情况下,我们应该删除一个给定的指针,在哪里我们最好为它指定零,而不是删除?解决方法: In what situations in the codes, should we delete a given pointer and where had we better assign zero to it, instead of deleting? 如果使用new创建指针,则删除指针.