学生和a,学生和a之间的区别;
difference between Student& a, Student &a;
我对这些术语感到困惑。
假设我们有一班学生,那么的含义是什么
class Student{
public:
Student(const Student& a){ ... }
Student(const Student &a){ ... }
};
我想问以下术语的含义
Student& a;
Student &a;
这些用于复制构造函数。我所知道的是,它们主要用于深层和浅层复制构造函数。
int i = 5;
^^^ ~ =
Type Name Value
(int) (i) (5)
int& ref = i;
^^^^^ ~~~ =
Type Name Value
(int&) (ref) (i)
int & ref = i;
^^^^^^ ~~~ =
Type Name Value
(int&) (ref) (i)
int &ref = i;
^^^^^^^~~~ =
Type Name Value
(int&) (ref) (i)
所以基本上这两个:
Student& a;
Student &a;
或多或少都是一样的。
至于复制构造函数签出的目的是什么:
- 我们什么时候必须使用复制构造函数
- 为什么复制构造函数应该在C++中通过引用接受其参数
- http://en.cppreference.com/w/cpp/language/copy_constructor
当我刚开始学习C时,我对指针语法感到困惑。char* c;
、char * c;
和char *c;
对我来说似乎不同,我对C.中的许多类型感到恐惧
但事实证明,您可以在'main'类型名称(例如int
、char
,甚至指针等)和变量名称之间的任何位置放置星号。这意味着,所有这些声明都是相同的。
这也适用于C++中的引用。实际上,这取决于开发人员的编码风格,而含义不会改变。
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 这 4 个 lambda 表达式之间有什么区别?
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- (double) 和 double() 之间的区别
- & 和 * 之间的区别
- std::is_convertible 和 std::convertible_to 之间的区别(在实践中)?
- 析构函数和'delete'之间的区别
- 在 typedef 内部使用 const 关键字和在 typedef 外部使用 const 关键字之间有区别吗?
- 从预序遍历构造 bst 的 c++ 和 python 解决方案之间的区别
- vector.back() 和 vector[vector.size() - 1] 之间的区别?
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 函数签名与调用的函数不匹配,常量字符[]和字符*之间的区别?
- OpenMP #pragma omp for v/s #pragma omp parallel for 之间的区别?
- S() 与 S{} 之间的区别?