won*_*ton 11 c++ compiler-construction constructor return
我用Google搜索了这篇文章并阅读了很多帖子,但是有很多不同的答案都是合乎逻辑的,我想知道这个话题的专家是否可以揭开这个问题的神秘面纱.
有人说没有回报因为无法返回 - 语法禁止它 - 是的,这是有道理的,但我相信所有功能必须返回一些东西,不是吗?其他人说构造函数的类型返回新创建的对象本身,这似乎是有意义的,因为赋值运算符在构造函数上使用.还有其他人有其他有趣的解释.
Ben*_*igt 14
构造函数不像其他函数一样被调用,因此它们不会像其他函数一样返回.它们作为某些构造的副作用执行(强制转换new,变量定义,ctor-initializer-list,pass-by-value,return-by-value).
das*_*ght 11
构造函数没有指定返回类型,因为它是多余的:除了构造函数可能"返回"的构造函数之外,没有其他类型.我将"return"放在引号中,因为技术上构造函数不会返回任何内容:当它们在静态上下文中调用时,它们会初始化一个实例; 当它们在动态上下文中被调用时,它是运算符new返回的东西,而不是构造函数.