我知道如果一个函数返回一个常量变量/对象,那么这个东西不能用在赋值运算符的左侧?这是正确的吗?对于函数,如果参数被声明为常量,传递到函数参数中的参数必须是常量吗?avoid self assignmentreturn *this; //enables x = y = z for example为什么这个函数允许x=y=z这样的对象数组赋值这本书的推理是“因为z不能被赋值给(x = y)返回的常量数组<e
我指的是关于按值传递、按引用传递的语义上的差异和细微差别的各种讨论,例如在这样或维基百科关于这一主题的文章。我的问题是,为什么这些文章和对话总是只在参数传递和函数调用的上下文中而不是在赋值上下文中讨论逐值、逐引用等问题?A a1 = new A();..。为什么不按值复制分配的对象是理所当然的呢?我不是在问,为什么要让任务的语义“按值”复制对象,这将是一个值得质疑的语言设计决定--我是在问语