Redian新闻
>
菜鸟读C++ STL源程序的疑问
avatar
菜鸟读C++ STL源程序的疑问# Programming - 葵花宝典
vi
1
看STL list node的定义:
struct _List_node_base
{
_List_node_base* _M_next; ///< Self-explanatory
_List_node_base* _M_prev; ///< Self-explanatory
static void
swap(_List_node_base& __x, _List_node_base& __y);
void
transfer(_List_node_base * const __first,
_List_node_base * const __last);
void
reverse();
void
hook(_List_node_base * const __position);
void
unhook();
};
template
struct _List_node : public _List_node
avatar
d*q
2
第一个 似乎没必要用 PRIVATE+friend
node的结构简单

【在 vi 的大作中提到】
: 看STL list node的定义:
: struct _List_node_base
: {
: _List_node_base* _M_next; ///< Self-explanatory
: _List_node_base* _M_prev; ///< Self-explanatory
: static void
: swap(_List_node_base& __x, _List_node_base& __y);
: void
: transfer(_List_node_base * const __first,
: _List_node_base * const __last);

avatar
vi
3

结构简单与否,data member总要private吧?
难道不是C++的规则之一吗?谢谢!

【在 d***q 的大作中提到】
: 第一个 似乎没必要用 PRIVATE+friend
: node的结构简单

avatar
t*t
4
not necessary.

【在 vi 的大作中提到】
:
: 结构简单与否,data member总要private吧?
: 难道不是C++的规则之一吗?谢谢!

avatar
vi
5

谢谢,请你顺便看一下其他问题,比如reverse(), transfer()等等是做什么用的?

【在 t****t 的大作中提到】
: not necessary.
avatar
d*q
6
不一定的。。而且对于用户来说
这个东西基本上也是
不可见得。。

【在 vi 的大作中提到】
:
: 谢谢,请你顺便看一下其他问题,比如reverse(), transfer()等等是做什么用的?

avatar
s*r
7
源代码哪儿弄到的?

【在 vi 的大作中提到】
: 看STL list node的定义:
: struct _List_node_base
: {
: _List_node_base* _M_next; ///< Self-explanatory
: _List_node_base* _M_prev; ///< Self-explanatory
: static void
: swap(_List_node_base& __x, _List_node_base& __y);
: void
: transfer(_List_node_base * const __first,
: _List_node_base * const __last);

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