腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
std
::
堆栈
元素
销毁
顺序
c++
、
c++11
关于
std
::stack
元素
的
销毁
顺序
有什么保证吗? 我有一个管理一组服务的生命周期的类。由于可能存在服务相互依赖关系,因此构造和
销毁
的
顺序
很重要--应该以创建服务的相反
顺序
销毁
服务。我想我应该使用
std
::stack<
std
::unique_ptr<Service>>来实现这个目的。知道
堆栈
是一个容器适配器,并猜测这可能会影响它的
销毁
语义,我搜索了一下,但
浏览 33
提问于2017-02-19
得票数 4
回答已采纳
2
回答
STL集装箱单元
销毁
令
c++
、
stl
、
portability
C++标准是否规定了STL容器内任何类型的对象的
销毁
顺序
?
std
::list/
std
::vector/
std
::map
元素
是从容器的开始或结束开始
销毁
的吗?可以依赖于
std
::map将其
元素
存储在
std
::pair的内部,以便在值之前
销毁
对中的一个键(反之亦然)?
浏览 0
提问于2010-01-18
得票数 26
回答已采纳
5
回答
对象数组的
销毁
顺序
c++
class MyClass}; {}for(int i = 9 ; i >= 0 ;i--) arr[i].MyClass::~MyClass
浏览 1
提问于2009-11-23
得票数 5
回答已采纳
1
回答
有序
堆栈
的分期分析
algorithm
、
complexity-theory
有序
堆栈
S是
元素
按递增
顺序
出现的
堆栈
。它支持以下操作:Pop(S):从有序
堆栈
中删除并返回顶部
元素
。Push(S,x):在有序
堆栈
的顶部插入x,并通过重复删除紧接在x下面的
元素
来重新建立递增
顺序
,直到x成为
堆栈
中最大的
元素
。
销毁
(S):删除有序
堆栈
上的所有
元素
。
浏览 0
提问于2014-09-11
得票数 1
3
回答
C++中goto语句对
堆栈
的影响
c++
、
stack-overflow
、
goto
、
destroy
、
callstack
当在goto中执行C++语句时,下面代码片段中的两个数组是否已从
堆栈
中删除?或者,当方法返回时,它们会从
堆栈
中移除吗? ...goto retrySplit; 这个问题与使用goto语句导致的泄漏无关,而是与您是否可以炸毁
堆栈
的可能性有关。
浏览 4
提问于2014-11-08
得票数 4
回答已采纳
1
回答
为什么当异常发生时shared_ptr不调用指针的析构函数
c++11
、
shared-ptr
iostream>#include <memory>#include <exception> { { Slot(const
std
::string &str = "NONAME") : m_name(str)
浏览 4
提问于2015-03-21
得票数 1
3
回答
有没有办法防止向量中的
元素
被析构?
c++
、
visual-studio
、
c++11
我有一个某种类型的向量,我想以某种随机的
顺序
销毁
元素
,而不移动向量中的其他
元素
。在稍后的时间,我可能会在这些被破坏的洞中放置新的(或不)。当我
销毁
向量时,我不想为已经被
销毁
的
元素
调用析构函数,那么可以这样做吗?如果可以,如何这样做?我一直在考虑使用charsizeof(T)作为向量
元素
类型,但我发现
std
::align_of和
std
::aligned_storage只适用于POD存储。那么,我如何确保这将适用于非PO
浏览 2
提问于2013-09-20
得票数 2
3
回答
std
元素
的破坏
顺序
::向量
c++
、
vector
、
destructor
可能重复: 是否保证
std
::vector的
元素
从上到第一次被
销毁
?
浏览 1
提问于2011-05-29
得票数 27
回答已采纳
1
回答
全局函数与静态函数局部变量之间的破坏
顺序
c++
我的理解是,具有静态存储时间的对象的
销毁
顺序
与其初始化
顺序
相反。"LogValuesObj" <<
std
::endl; ~LogValuesObj() {LogValuesObj~EarlyInitLogValue
浏览 3
提问于2021-12-27
得票数 1
回答已采纳
1
回答
用unique_ptr生成的堆
元素
是否仍被分配到堆上?
c++
、
stack
、
smart-pointers
、
heap-memory
std
::unique_ptr<GameState> mMenuPtr(new MainMenu);gameStates.push(
std
::move(mMenuPtr)); //pointer loses ownership of MainMenu during move
堆栈
上的
元素
是否仍在堆上动态分配?如果是这样的话,结束作用域中
堆栈
的
销毁
是否释放了我分配
浏览 0
提问于2016-09-11
得票数 0
回答已采纳
4
回答
在使用shared_ptr时分割故障
c++
、
c++11
、
design-patterns
、
overloading
、
shared-ptr
我正在做一个粒子系统,我在努力思考如何构造我的代码。其思想是用户可以创建一个或多个ParticleEmitter对象,这些对象通过ParticleManager对象传递给ofxCurlNoise对象。这是怎么回事?做我想做的事有设计模式吗? ofApp.h
浏览 3
提问于2015-02-23
得票数 2
回答已采纳
2
回答
在向量/deque c++中存储互斥对象
c++11
、
mutex
我试着做这样的事情:
std
::vector<
std
::lock_guard<
std
::mutex> > guards(n); 我想,当lock_guards被
销毁</e
浏览 1
提问于2015-05-24
得票数 5
回答已采纳
1
回答
从结构
堆栈
中释放弹出时的内存
c++
、
memory-management
、
struct
、
stack
stack_values { bool sign; //true=sum, false=sub};我用这段代码推到
堆栈
中;sosp_values.sp = 0; sosp_values.sign
浏览 1
提问于2015-05-30
得票数 0
回答已采纳
1
回答
在使用两个
堆栈
实现队列时使用swap() STL时出错
c++
、
stl
、
queue
、
stack
、
swap
我试图使用两个
堆栈
实现Class Queue,但我注意到一个错误。如果我使用STL的swap()操作交换两个
堆栈
(在pop和code操作之后),我会得到错误的答案,但当我使用静态代码交换两个
堆栈
时,我会得到正确的答案。请让我知道到底发生了什么。#include <bits/stdc++.h>template<typename T> stack<T> A;//non
浏览 0
提问于2021-07-31
得票数 0
1
回答
如何释放使用
std
::stack上存储的新指针分配的指针
c++
我有一个在
堆栈
上分配指针的程序。#include <stack> { for (int i = 0; i < 100; i++)pAs.empty()) delete pAs.top();
std
::cout << pAs.size() << '\n'
浏览 0
提问于2021-06-20
得票数 0
回答已采纳
3
回答
在固定的、无序的、拥有的数组中安全、惯用的
销毁
和压缩
c++
、
arrays
、
c++17
、
destructor
、
move-semantics
要
销毁
数组中的
元素
,并用数组的最后一个
元素
替换它的槽以保持连续性,现代的、惯用的C++方法是什么?我特别关注的是确保
元素
被正确地
销毁
,替换被正确而有效地移动。不幸的是,
std
::vector在这里不是一个选项。index) SOME_ASSERT_MACRO(index < count);
std
::destroy_at(
std
::addressof(arr.at(index)));arr[index] =
std</
浏览 0
提问于2019-02-22
得票数 1
1
回答
std
::stirng的对象生存期返回const char*作为返回值
c++11
在C++11中: #include <string>
std
::string content; return content.c_str(); return Inner();int main(){
std
::cout <<当
堆栈
消失时,string对象将被
销毁
。但我认为这应该在Spot 1完成执行时发
浏览 8
提问于2020-09-07
得票数 0
回答已采纳
2
回答
是否可以将
std
::数组移动到
std
::载体中?
c++11
、
move
、
heap-memory
、
stdarray
、
stack-memory
这是一个关于
堆栈
内存和堆内存之间的交互的问题,以及通过
std
::array和
std
::vector类从
堆栈
到堆的特殊情况。原则上,
std
::array<T>可以被看作是指向第一个
元素
的指针,还有一些关于数组大小的编译时间信息。一个用例是,一个函数返回一个
std
::array<double, >但是,后来有人决定将其分配给
std
:
浏览 2
提问于2015-12-01
得票数 8
回答已采纳
3
回答
当通过调整容器的大小缩小容器时,
元素
的破坏
顺序
是什么?
c++
如果我有一个标准的C++容器
std
::vector<Bar>,并且通过调用小于当前.size()大小的.resize()来收缩它,那么这些额外的
元素
是按什么
顺序
销毁
的呢?
浏览 2
提问于2014-04-04
得票数 26
回答已采纳
6
回答
什么是
堆栈
展开?
c++
、
stack
什么是
堆栈
展开?搜索了一下,但找不到有启发性的答案!
浏览 90
提问于2010-02-25
得票数 222
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
即时通信 IM
活动推荐
运营活动
广告
关闭
领券