首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++指针和内存释放

C++指针和内存释放
EN

Stack Overflow用户
提问于 2018-06-01 21:45:40
回答 1查看 95关注 0票数 2

我不太习惯严格的类型检查和较低级别的东西,比如释放。最近,在尝试写一些类似于

// Product is a struct I defined earlier, nothing fancy
vector<string, Product>::iterator it;
// Do some stuff with the iterator...
// And now I know I won't be using the iterator again
map<string, Product>::iterator it;

然而,这产生了错误‘重复声明局部变量"it"’。所以我的问题很简单,为什么会发生这种情况?我研究了内存解构,但据我所知,显然不可能解构迭代器,因为它们实际上是指针?如果你知道不再需要旧的变量,C++真的不允许你对不同的变量使用相同的名称吗,或者通常你会将它们释放到内存中?

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 21:57:10

不管你使用哪种语言,如果你在相同的作用域中给两个不同的变量起了相同的名字(而且它们应该是不同的东西),你只需要编辑它就会把后面的每个人(包括本例中的你自己)搞糊涂。对于那些必须维护你的代码的人来说,这是双倍的。

尽快改掉这个习惯。语言为您提供了什么并不重要。不要这样做。

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50644857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档