c – 局部变量或指针
发布时间:2020-12-16 09:37:30 所属栏目:百科 来源:网络整理
导读:给定任何随机C框架中的类,如何知道是否必须在堆栈上创建一个简单对象或者在堆上创建指向对象的指针? 假设一个函数以引用()变量的形式接受参数.调用者可以将局部变量传递给它或指针(* ptr).被调用的函数可能会也可能不会从传递的对象中复制dat. 这个问题是我
给定任何随机C框架中的类,如何知道是否必须在堆栈上创建一个简单对象或者在堆上创建指向对象的指针?
假设一个函数以引用(&)变量的形式接受参数.调用者可以将局部变量传递给它或指针(* ptr).被调用的函数可能会也可能不会从传递的对象中复制dat. 这个问题是我的previous question与C Bada开发有关的后续问题. 解决方法
一般来说,每个精心设计的C库都允许这两者.在大多数情况下,库不关心调用者分配内存的位置,因为调用者处理自己的内存.如果库有额外的要求(例如,它占用了一个指针),那么它会仔细记录这个.
此外,作为一般准则,避免指针和freestore内存. C的设计考虑了堆栈对象.如果没有令人信服的理由使用不同的东西,那么就不要. new应该只在你的代码中非常谨慎地使用,并且永远不应该使用delete – 也就是说,总是以自动方式处理你分配的内存(智能指针). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |