关于类自身引用的问题

xiaoguangzaia 2011-03-30 04:44:48
类的成员函数可以包括自身的引用,查了下网上资料(http://www.programfan.com/club/showpost.asp?id=17686)。说构造函数可以这样写
class A {
int x;
A &a;

public :
A():a(*this){}
A(int x, A& aa):x(x),a(aa){}
};
默认的那个构造函数只能这样写吗,另外大家说对自身的引用没有实际用途不知道是不是这样,还有说“类引用自身须是static方式,目的取消类的基类独立性,禁止派生类”这是什么意思呢?
...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxfred 2012-06-08
  • 打赏
  • 举报
回复
还是有用的,如果你学过OpenGL shader编程。
比如写个向量类

class vec2
{
public:
float x;
float y;
vec2 &xy;
}

在shader里,你可以这么写
vec2 a, b;

b = a.xy;

hukui161 2011-03-30
  • 打赏
  • 举报
回复
C++有时候很无语。
xiaoguangzaia 2011-03-30
  • 打赏
  • 举报
回复
谢谢大家的回答,这种题就是觉得找工作什么的会出
CyberLogix 2011-03-30
  • 打赏
  • 举报
回复
类的成员函数可以包括自身的引用,这个没什么用,一般是使用自身的指针的
pengzhixi 2011-03-30
  • 打赏
  • 举报
回复
给我的 感觉就是 int a=a;这个东西不知道标准委员会怎么想得。
snake_xiongyang 2011-03-30
  • 打赏
  • 举报
回复
楼上说得好
我也觉得这些变态的技巧没有价值。有点皓首穷经的味道了。
taodm 2011-03-30
  • 打赏
  • 举报
回复
这种技巧就是纯语法糖,没事别模仿。不值得深究。
语法上的缺失,用丑陋的语法糖来补,还不如不补,就是一个心智包袱。
boost库里有现成的,拿来用就可以了。

quwei197874 2011-03-30
  • 打赏
  • 举报
回复
不那样写默认的那个构造函数就得写个copy构造函数.

64,661

社区成员

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

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