-----taodm-----请进, vector中new的对象的delete 问题

FingerStyle 2007-04-30 03:13:06
effictive STL里 条款7 :
......指针的”析构函数“是无操作。

template <class T>
void Des(T* p)
{
p->~T();
}

int main()
{
Test* p = new Test;
Des(p);

}试过之后, “有操作啊"

看了
_destroy_aux(FIter, FIter, _true_type)
{
//空
}

template <class T>
struct _type_traits<T*>
{
typedef _true_type has_trivial_default_constructor;
........
}
意思是对指针类型的, 配置器都不会调用其析构函数, 而不是说
“指针的”析构函数“是无操作。” 是这样的吗?

再弱弱的问一下:
他说的原生指针, int* p; char* p;...... (为什么说“原生”指针)
class T
{};
T* p; 这也是原生指针?
...全文
484 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
不想低调 2007-04-30
  • 打赏
  • 举报
回复
STL源码剖析 这本书不好懂啊!!
FingerStyle 2007-04-30
  • 打赏
  • 举报
回复
template <class T>
void Des(T* p)
{
p->~T();
}

int main()
{
Test* p = new Test;
Test** pp = &p;
Des(pp);
}
OKOK,好像明白了, 其实类似上面的, 因为vector里析构是用的iterator为参数
如果 vecotr<Test*> 的话, *iter也是个指针类型的。
FingerStyle 2007-04-30
  • 打赏
  • 举报
回复
我有点晕了 。。 回去哭去。。。。
yach_jerry 2007-04-30
  • 打赏
  • 举报
回复
大家可以去看“关于二维矩阵两点间步数计算的问题 ”吗?我急用。最好15:50前,谢谢!
taodm 2007-04-30
  • 打赏
  • 举报
回复
《STL源码剖析》,我不让它离开我一个手臂的距离。
你说我还要怎么评价它。
taodm 2007-04-30
  • 打赏
  • 举报
回复
你再看p124
biblereader 2007-04-30
  • 打赏
  • 举报
回复
taodm对《STL源码剖析》怎么评价?
FingerStyle 2007-04-30
  • 打赏
  • 举报
回复
汗..
yach_jerry 2007-04-30
  • 打赏
  • 举报
回复
大家可以去看“关于二维矩阵两点间步数计算的问题 ”吗?
FingerStyle 2007-04-30
  • 打赏
  • 举报
回复
P51 里的destroy

template <class T>
inline void destroy(T* pointer)
{
pointer->~T();
}
跟我上面写的一样啊 ?
  • 打赏
  • 举报
回复
掺和一下
taodm 2007-04-30
  • 打赏
  • 举报
回复
楼主,还是找本《STL源码剖析》看看吧,p51讲destory,如何翻看vector的源码讲解部分,一对照就知道了。
jixingzhong 2007-04-30
  • 打赏
  • 举报
回复
-_-
lidongri 2007-04-30
  • 打赏
  • 举报
回复
up
FingerStyle 2007-04-30
  • 打赏
  • 举报
回复
okok 我再好好理解理解 我都晕了。。
taodm 2007-04-30
  • 打赏
  • 举报
回复
p->~T();
你这叫指针的析构函数?你调用的明明是T类型的析构函数,或者说调用了指针所指对象的析构函数。
template <class T>
void Des(const T & p)
{
p.~T();
}
这才叫调T类型的析构函数。

FingerStyle 2007-04-30
  • 打赏
  • 举报
回复
在线等。。
内容概要:本文系统性地介绍了Neo4j图数据库的技术体系、核心原理与企业级实战应用,涵盖从基础理论到生产落地的完整知识链条。深入剖析了Neo4j作为原生图数据库在存储架构、数据模型、查询语言(Cypher)方面的核心技术优势,重点讲解其基于节点、关系、属性的三元组模型和原生图存储机制,对比传统关系型数据库在处理复杂关联数据时的性能瓶颈。文档全面覆盖环境部署、工业级建模规范、Cypher深度编程、海量数据导入、Python/Java全栈开发集成、图算法分析(GDS)、高可用集群搭建及性能调优等内容,并通过金融风控知识图谱项目实现端到端的综合实战演练,提供可直接复用的建模模板、优化方案与故障排查手册。; 适合人群:具备一定数据库基础,从事大数据、人工智能、金融风控、知识图谱等相关领域的研发人员、架构师及数据工程师,尤其适合工作1-5年希望掌握图数据库企业级开发能力的技术人员。; 使用场景及目标:①掌握Neo4j在金融风控、社交网络、知识图谱等复杂关联场景下的建模与查询能力;②实现海量图数据的高效导入、集群部署与性能优化;③结合GDS图算法进行社群发现、路径分析、核心节点挖掘等智能分析任务;④构建前后端一体化的企业级图谱可视化系统。; 阅读建议:此资源强调工程化与生产级落地,建议结合实际项目边学边练,重点关注建模规范、索引设计、Cypher执行计划优化与集群运维等关键环节,配套源码与配置模板应作为开发参考标准使用。

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧