C++ 参考与指针

C++ 参考与指针,c++,pointers,reference,C++,Pointers,Reference,我想现在是我了解差异的时候了。我已经看到了如何使用这些,但是教程有点模糊。我对语法以及如何在很小的程度上使用它们有非常基本的知识。指针总是看起来有点可怕和混乱。我听说一旦你学会使用它们,它们就很棒,我想要一些很棒的东西:)。那么,我该如何使用这些工具?我应该在什么时候使用每个工具?还有一件事,我用C++。 谢谢大家! 尽管我同意Moing Duck的观点,但这里有一个小样本可以说明: int nValue = 5; /* * &rfValue is a reference type,

我想现在是我了解差异的时候了。我已经看到了如何使用这些,但是教程有点模糊。我对语法以及如何在很小的程度上使用它们有非常基本的知识。指针总是看起来有点可怕和混乱。我听说一旦你学会使用它们,它们就很棒,我想要一些很棒的东西:)。那么,我该如何使用这些工具?我应该在什么时候使用每个工具?还有一件事,我用C++。
谢谢大家!

尽管我同意Moing Duck的观点,但这里有一个小样本可以说明:

int nValue = 5;
/* 
 * &rfValue is a reference type, and the & means reference to.
 * references must be given a value upon decleration.
 * (shortcut like behaviour)
 * it's better to use reference type when referencing a valriable,
 * since it always has to point to a valid object it can never
 * point to a null memory. 
 */
int &rfValue = nValue;

/* This is wrong! reference must point to a value. it cannot be
 * null.
 */
//int &rfOtherValue; /* wrong!*/

/* same effect as above. It's a const pointer, meaning pValue 
 * cannot point to a different value after initialization.
 */
int *const pValue = &nValue; //same as above

rfValue++;  //nValue and rfValue is 6
nValue++;   //nValue and rfValue is 7
cout << rfValue << " & " << *pValue << " should be 7" << endl;  
int nValue=5;
/* 
*&rfValue是引用类型,&表示对的引用。
*参考值必须在偏差时给出一个值。
*(类似捷径的行为)
*引用变量时最好使用引用类型,
*因为它总是指向一个有效的对象,所以它永远也不能
*指向空内存。
*/
int&rfValue=nValue;
/*这是错误的!引用必须指向一个值。不可能
*空。
*/
//int&rfOtherValue;/*错了*/
/*效果同上。它是一个常量指针,表示pValue
*初始化后无法指向其他值。
*/
int*constpvalue=&nValue//同上
rfValue++//nValue和rfValue为6
nValue++//nValue和rfValue为7

cout@MooingDuck我没有意识到这一点。当您键入此内容时,屏幕上显示了类似问题的#1点击,并且也在本页右侧的侧边栏上,以及其他七个重复问题。我知道我想问一个问题,但请阅读屏幕上的内容:)请不要因为可能有重复的内容而责骂我。我13岁,我想我不太擅长研究。这是我在这个网站的第二次尝试。我真的很喜欢这个,所以请不要阻止我在这里提问。@MooingDuck我确实看过这个。我甚至在这个网站上搜索过。我猜我用错了词,对不起。别担心,下次你写问题时,一定要看屏幕上显示的建议副本,然后再点击提交按钮。如果您发布过多重复问题,网站会自动阻止您:(谢谢你澄清此事!