Redian新闻
>
容器里边放指针怎么办?
avatar
容器里边放指针怎么办?# Programming - 葵花宝典
k*s
1
家教内容:念故事,指读。
要求:普通话标准,有耐心
时间:周1到周5上午2个小时
小朋友2岁,能交流,会跟着说故事。
有意者站内。谢谢!
avatar
M*g
2
本人命苦,J1身份5月21到期,绿卡3月18 日打指纹。网上没有更新。 知道时间还不太
长,可又有点等不及,不敢等到5月中,想加急办H1。又觉得是不必要的浪费精力和金
钱。 大家给点建议? 如何可以查查绿卡到哪一步了?这种情况有Grace period 吗?
恳请大家帮忙建议,千谢万谢!
avatar
d*r
3
【此篇文章是由自动发信系统所张贴】
⊙ 此次投票的允许资格为:
1. 上站次数需大于 20 次 .
2. 文章数目需大于 20 篇.
3. 上站总时数需大于 0 小时.
4. 上站物理时间需大于 10 天.
⊙ 投票开启于:Thu Dec 3 19:18:01 2009 类别:复选
⊙ 主题:[怀旧美食]征文投票(投票并留言者有包子)
⊙ 票选题目描述:
感谢大家对于Literature版和Food版合办的怀旧美食活动的支持!
现在第一赛季已经圆满结束, 本次大赛将面向Mitbbs,由读者选出最终获奖作品.
本次评选活动为期一周, 请大家踊跃投票并留言, 投票留言者有包子, 谢谢 :)
以下为参赛文章及链接:
1. 挂面圆子
http://www.mitbbs.com/article_t/Literature/31174367.html
2. 几个上海点心
http://www.mitbbs.com/article_t/Literature/31179871.html
3. 炸虾片
http://www.mitbbs.com/article_t/Literature/3117723
avatar
z*e
4
请大侠讲讲,
如果容器里边放指针的话,需要注意什么?
如果不是auto_ptr,就一般指针,有什么需要注意的么?
比如copy什么的,是不是会出现很多share onwership的情况?怎么解决呢?
avatar
F*M
5
485 pending 可以合法呆在美国,
如果同时申请了 ead 的话可以拿 ead 上班,没有的话只能等 485 批下来上班

本人命苦,J1身份5月21到期,绿卡3月18 日打指纹。网上没有更新。 知道时间还不太
长,可又有点等不及,不敢等到5月中,想加急办H1。又觉得是不必要的浪费精力和金
钱。 大家给........

【在 M*******g 的大作中提到】
: 本人命苦,J1身份5月21到期,绿卡3月18 日打指纹。网上没有更新。 知道时间还不太
: 长,可又有点等不及,不敢等到5月中,想加急办H1。又觉得是不必要的浪费精力和金
: 钱。 大家给点建议? 如何可以查查绿卡到哪一步了?这种情况有Grace period 吗?
: 恳请大家帮忙建议,千谢万谢!

avatar
p*e
6
每个人可以投3篇 :)

【在 d*****r 的大作中提到】
: 【此篇文章是由自动发信系统所张贴】
: ⊙ 此次投票的允许资格为:
: 1. 上站次数需大于 20 次 .
: 2. 文章数目需大于 20 篇.
: 3. 上站总时数需大于 0 小时.
: 4. 上站物理时间需大于 10 天.
: ⊙ 投票开启于:Thu Dec 3 19:18:01 2009 类别:复选
: ⊙ 主题:[怀旧美食]征文投票(投票并留言者有包子)
: ⊙ 票选题目描述:
: 感谢大家对于Literature版和Food版合办的怀旧美食活动的支持!

avatar
t*t
7
首先容器里不能放auto_ptr. 一定会出问题. STL container对元素的要求是
assignable. 基于这个理由, auto_ptr和valarray都不能作为STL container的元素
其次就是ownership要注意了. 一般指针没有ownership的说法, 但你自己心里要有数,
ownership是不是这个container. 如果是, 那么在erase, pop, pop_back, dtor等地方
要记得delete. 如果不是, 那就所有的地方都没有delete.
放shared_ptr就没有问题了. shared_ptr是assignable的, 所以不用你自己管.

【在 z****e 的大作中提到】
: 请大侠讲讲,
: 如果容器里边放指针的话,需要注意什么?
: 如果不是auto_ptr,就一般指针,有什么需要注意的么?
: 比如copy什么的,是不是会出现很多share onwership的情况?怎么解决呢?

avatar
M*g
8
谢谢回复,可惜EAD 和AP 都还没拿到。
avatar
m*n
9
re

【在 d*****r 的大作中提到】
: 【此篇文章是由自动发信系统所张贴】
: ⊙ 此次投票的允许资格为:
: 1. 上站次数需大于 20 次 .
: 2. 文章数目需大于 20 篇.
: 3. 上站总时数需大于 0 小时.
: 4. 上站物理时间需大于 10 天.
: ⊙ 投票开启于:Thu Dec 3 19:18:01 2009 类别:复选
: ⊙ 主题:[怀旧美食]征文投票(投票并留言者有包子)
: ⊙ 票选题目描述:
: 感谢大家对于Literature版和Food版合办的怀旧美食活动的支持!

avatar
z*e
10
放指针要自己delete了!
这个和容器说不需要delete不是矛盾了?
不过想想也觉得是要自己显式的delete一下才好哈?
另外能不能容器里放引用呢?

,

【在 t****t 的大作中提到】
: 首先容器里不能放auto_ptr. 一定会出问题. STL container对元素的要求是
: assignable. 基于这个理由, auto_ptr和valarray都不能作为STL container的元素
: 其次就是ownership要注意了. 一般指针没有ownership的说法, 但你自己心里要有数,
: ownership是不是这个container. 如果是, 那么在erase, pop, pop_back, dtor等地方
: 要记得delete. 如果不是, 那就所有的地方都没有delete.
: 放shared_ptr就没有问题了. shared_ptr是assignable的, 所以不用你自己管.

avatar
c*2
11
Should be close but okay. you did FP on 3-18, so you proabaly have a
February RD and should receive EAD/AP by 5-21.
avatar
p*e
12
Thanks :)

【在 m******n 的大作中提到】
: re
avatar
z*e
13
for_each (myvector.begin(), myvector.end(), delete);
那个delete直接作为function object传入?
avatar
M*g
14
Yes, my RD is Feb. 14th. Thanks for all your information.
avatar
j*n
15
解决了?时间不对,可能

【在 p******e 的大作中提到】
: Thanks :)
avatar
z*e
16
再次阅读,突然发现你这个回复居然没有一句是废话。

,

【在 t****t 的大作中提到】
: 首先容器里不能放auto_ptr. 一定会出问题. STL container对元素的要求是
: assignable. 基于这个理由, auto_ptr和valarray都不能作为STL container的元素
: 其次就是ownership要注意了. 一般指针没有ownership的说法, 但你自己心里要有数,
: ownership是不是这个container. 如果是, 那么在erase, pop, pop_back, dtor等地方
: 要记得delete. 如果不是, 那就所有的地方都没有delete.
: 放shared_ptr就没有问题了. shared_ptr是assignable的, 所以不用你自己管.

avatar
wh
17
我几乎是看着哪个菜好吃就投哪个了……

【在 d*****r 的大作中提到】
: 【此篇文章是由自动发信系统所张贴】
: ⊙ 此次投票的允许资格为:
: 1. 上站次数需大于 20 次 .
: 2. 文章数目需大于 20 篇.
: 3. 上站总时数需大于 0 小时.
: 4. 上站物理时间需大于 10 天.
: ⊙ 投票开启于:Thu Dec 3 19:18:01 2009 类别:复选
: ⊙ 主题:[怀旧美食]征文投票(投票并留言者有包子)
: ⊙ 票选题目描述:
: 感谢大家对于Literature版和Food版合办的怀旧美食活动的支持!

avatar
t*t
18
没人说容器不需要delete吧. 容器里如果放的是正常的object, 那跟用auto object一
样, 不需要delete. 如果放的是正常的指针, 那指针需要delete, 容器里的指针也需要
delete.
容器里不能放引用.

【在 z****e 的大作中提到】
: 放指针要自己delete了!
: 这个和容器说不需要delete不是矛盾了?
: 不过想想也觉得是要自己显式的delete一下才好哈?
: 另外能不能容器里放引用呢?
:
: ,

avatar
p*e
19
Thanks :)

【在 wh 的大作中提到】
: 我几乎是看着哪个菜好吃就投哪个了……
avatar
t*t
20
好象是不行的. 在c++0x的lambda function出来之前, for_each并不是一个很好用的东
西.

【在 z****e 的大作中提到】
: for_each (myvector.begin(), myvector.end(), delete);
: 那个delete直接作为function object传入?

avatar
j*n
21
快快投票,下轮是节日期间,应该有更多好吃的

【在 d*****r 的大作中提到】
: 【此篇文章是由自动发信系统所张贴】
: ⊙ 此次投票的允许资格为:
: 1. 上站次数需大于 20 次 .
: 2. 文章数目需大于 20 篇.
: 3. 上站总时数需大于 0 小时.
: 4. 上站物理时间需大于 10 天.
: ⊙ 投票开启于:Thu Dec 3 19:18:01 2009 类别:复选
: ⊙ 主题:[怀旧美食]征文投票(投票并留言者有包子)
: ⊙ 票选题目描述:
: 感谢大家对于Literature版和Food版合办的怀旧美食活动的支持!

avatar
t*t
22
不过你可以用std::tr1::reference_wrapper来包装一个引用, make it assignable
and copyconstructable.

【在 t****t 的大作中提到】
: 没人说容器不需要delete吧. 容器里如果放的是正常的object, 那跟用auto object一
: 样, 不需要delete. 如果放的是正常的指针, 那指针需要delete, 容器里的指针也需要
: delete.
: 容器里不能放引用.

avatar
p*e
23
Thanks :)

【在 j******n 的大作中提到】
: 快快投票,下轮是节日期间,应该有更多好吃的
avatar
z*e
24
回去学习。
这个要看。

【在 t****t 的大作中提到】
: 不过你可以用std::tr1::reference_wrapper来包装一个引用, make it assignable
: and copyconstructable.

avatar
O*d
25
容器不能放reference,因为reference需要在产生时就initialize。例如,
vectora(5) 无法生成。 同样的道理还有 new int &[5];

【在 z****e 的大作中提到】
: 放指针要自己delete了!
: 这个和容器说不需要delete不是矛盾了?
: 不过想想也觉得是要自己显式的delete一下才好哈?
: 另外能不能容器里放引用呢?
:
: ,

avatar
z*e
26
恩,看来常量reference都不可以呀,因为连个能attach的临时变量都没有。

【在 O*******d 的大作中提到】
: 容器不能放reference,因为reference需要在产生时就initialize。例如,
: vectora(5) 无法生成。 同样的道理还有 new int &[5];

avatar
d*p
27
You cannot use std::vector. But you can use std::vectorreference_wrapper >.
So
int i = 9;
int& j = i;
std::vector > myvec;
myvec.push_back(boost::reference_wrapper(i);
myvec.push_back(boost::reference_wrapper(j);
++i;
// now both elements in vector become 10.
Basically it is a wrapper of a pointer which always points to an initialized
variable (not out of scope).

【在 z****e 的大作中提到】
: 恩,看来常量reference都不可以呀,因为连个能attach的临时变量都没有。
avatar
d*p
28
I think it is Ok, although not as handy as BOOST_FOREACH, which really
achieves the level of expressiveness
as Python and Perl.
The only inconvenience for using std::for_each is you have to explicitly
define your functor - for really simple
tasks it looks an overkill compared with a hand written loop. I however
really hate for-iterator stuff - in a
team environment other people may get lazy and modify the loop in a way that
readability will be harmed.
So, using high level construct like for_each

【在 t****t 的大作中提到】
: 好象是不行的. 在c++0x的lambda function出来之前, for_each并不是一个很好用的东
: 西.

avatar
h*0
29
这东西跟指针有啥区别?

【在 t****t 的大作中提到】
: 不过你可以用std::tr1::reference_wrapper来包装一个引用, make it assignable
: and copyconstructable.

avatar
X*r
30
不能赋NULL,不能(直接)进行算术运算。

【在 h*****0 的大作中提到】
: 这东西跟指针有啥区别?
avatar
l*e
31
这种情况,还是用boost的ptr_container好

,

【在 t****t 的大作中提到】
: 首先容器里不能放auto_ptr. 一定会出问题. STL container对元素的要求是
: assignable. 基于这个理由, auto_ptr和valarray都不能作为STL container的元素
: 其次就是ownership要注意了. 一般指针没有ownership的说法, 但你自己心里要有数,
: ownership是不是这个container. 如果是, 那么在erase, pop, pop_back, dtor等地方
: 要记得delete. 如果不是, 那就所有的地方都没有delete.
: 放shared_ptr就没有问题了. shared_ptr是assignable的, 所以不用你自己管.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。