-2
class const_buffer
{
public:
  /// Construct an empty buffer.
  const_buffer()
    : data_(0),
      size_(0)
  {
  }

  /// Construct a buffer to represent a given memory range.
  const_buffer(const void* data, std::size_t size)
    : data_(data),
      size_(size)
  {
  }

  const void* data_;
  std::size_t size_;
}

data_ 被定义为 void* 并且 size_ 是 std::size_t 类型。它们不是函数,但为什么你可以做 data_(data), size_(size)?看起来他们接受参数并像函数一样工作。

4

1 回答 1

2

与函数最接近的类比是,您正在调用这些类型的构造函数来初始化它们。这只是一种语法,它们不像函数那样“行动”。

于 2013-08-30T16:08:09.917 回答