Redian新闻
>
C++ 菜鸟问一个关于template 的问题。
avatar
C++ 菜鸟问一个关于template 的问题。# Programming - 葵花宝典
h*l
1
我现在的情绪非常非常的差。只要一看到男性出轨的电视剧或者小说,我整个人的情绪都开始变得不好了。往事历历在目,我越来越看我男友心烦,但是还没有办法,我离不开他。
男友在我怀孕的时候出轨的,那时候我不知道。我在想,我有孕在身,既不能够满足丈夫生理需求, 又不能够较好的照顾他的饮食起居,所以我也没有太关注他的行为。可是他开始越来越张狂,明目张胆的在我面前发微信,调侃女性朋友。很多时候,男友都很晚回家,我要是一问他,他就用工作忙,需要抽时间处理工作来囊色我。
女人怀孕的时候,特别容易起夜。每天晚上我都因为尿频醒过来。有一天凌晨三点钟,我起来上厕所,突然看到老公猫在书房里,偷偷的打电话,电话里一句一个“宝贝儿” ,他还说,只要我把孩子生下来,他就和我离婚.....
面对这样的人渣,我真的是受够了。我不想生孩子了。现在我的宝宝6个月了。我准备去医院偷偷的做人流,然后和这个渣男了离婚,太特么的不是人了。各位吧友祝福我吧,替我谴责这个不负责的男人吧。
avatar
c*n
2
worked fine before, now the hibernate button still works,
but after it wakes up, it is a complete new reboot
avatar
e*o
3
如果要写一个template function, 比如
template //It 是一个pointer 或iterator,
void foo(It, iter)
{
//
? a = *iter;
//
}
那么应该怎样定义 a.
avatar
q*j
4
9.10 is full of bugs as of now. i cannot shut down or reboot after it. i had
to reinstall, steer away from it now.

【在 c******n 的大作中提到】
: worked fine before, now the hibernate button still works,
: but after it wakes up, it is a complete new reboot

avatar
f*e
5
试试
auto a = *iter;

【在 e******o 的大作中提到】
: 如果要写一个template function, 比如
: template //It 是一个pointer 或iterator,
: void foo(It, iter)
: {
: //
: ? a = *iter;
: //
: }
: 那么应该怎样定义 a.

avatar
t*t
6
if you are not using c++11 (i.e. "auto a=*iter" doesn't work), you can try:
typename std::iterator_traits::value_type a=*iter;
if It is really iterator or pointer.

【在 e******o 的大作中提到】
: 如果要写一个template function, 比如
: template //It 是一个pointer 或iterator,
: void foo(It, iter)
: {
: //
: ? a = *iter;
: //
: }
: 那么应该怎样定义 a.

avatar
c*y
7
good, works for both
/usr/include/c++/4.6.3/bits/stl_iterator_base_types.h
/// Partial specialization for pointer types.
template
struct iterator_traits<_tp>
{
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};
/// Partial specialization for const pointer types.
template
struct iterator_traits
{
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef ptrdiff_t difference_type;
typedef const _Tp* pointer;
typedef const _Tp& reference;
};

【在 t****t 的大作中提到】
: if you are not using c++11 (i.e. "auto a=*iter" doesn't work), you can try:
: typename std::iterator_traits::value_type a=*iter;
: if It is really iterator or pointer.

avatar
t*t
8
since you are using 4.6, i suggest you enable c++11 mode and use "auto",
which is much much cleaner...

【在 c*******y 的大作中提到】
: good, works for both
: /usr/include/c++/4.6.3/bits/stl_iterator_base_types.h
: /// Partial specialization for pointer types.
: template
: struct iterator_traits<_tp>
: {
: typedef random_access_iterator_tag iterator_category;
: typedef _Tp value_type;
: typedef ptrdiff_t difference_type;
: typedef _Tp* pointer;

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