【问题标题】:C++ address operator uses? [duplicate]C++地址运算符使用? [复制]
【发布时间】:2011-06-30 10:17:47
【问题描述】:

可能重复:
Why use pointers?

我知道 C++ & 的作用。但是它可以用来做什么呢?

【问题讨论】:

  • 我知道 + 运算符的作用,但是它可以用来做什么呢?
  • 这没有任何意义,伙计。
  • & 给了我内存中存储它的地址。但是我能用它做什么???
  • + 给了我两个数字的总和。但是我能用它做什么???
  • 你问指针有什么用?

标签: c++ operators


【解决方案1】:
  • & 用于在调用站点使用时将参数(指针)的地址传递给函数。
  • & 用于在函数参数列表中使用时,通过引用函数来传递参数。
  • & 是按位的AND。例如(a & b)
  • & 用于逻辑 AND。在这种情况下,两个& 构成逻辑AND。例如(a && b)

【讨论】:

  • @Dan:如果它澄清了您的疑问,请点击勾选标记接受它作为您的答案!
【解决方案2】:

例如,将指向对象的指针传递给某个函数。

【讨论】:

    【解决方案3】:

    STL 或其他常用库中的许多函数都需要指向对象(而不是对象本身)的指针。此外,很多时候你会想要传递指针。当您需要时,& 运算符允许您获取指向您有权访问的任何对象的指针。

    浏览boost 库并找到一些。一个例子:

    template<class Y> explicit shared_ptr(Y * p);
    

    要传递指向Y 的指针,您必须使用&amp; 运算符。

    此外,您的个人资料显示您喜欢 3-D 游戏。我所知道的几乎每个 C++ 3d 库都使用指向浮点数或整数数组的指针来操作所有内容。您需要 &amp; 运算符来传递指向这些数组的指针。

    【讨论】:

    • 您很可能不想将使用 & 获得的地址传递给 shared_ptr。
    猜你喜欢
    • 1970-01-01
    • 2011-05-31
    • 2019-12-27
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多