【问题标题】:Calling function in string.h file without object在没有对象的 string.h 文件中调用函数
【发布时间】:2017-10-17 02:25:11
【问题描述】:
#include<string.h>

int a = 2;

string str = to_string(a);

我想知道,在 C++ 中,每当我们要调用库函数时,我们都会使用

library_object.function_name() 符号。但是这里我们直接使用to_string() 函数,没有使用对象。所以我的问题是为什么我们不调用 to_string() 函数像

string_object.to_string();

另外请说明这里调用函数有和没有对象有什么区别。

【问题讨论】:

  • &lt;string.h&gt; 不包含std::string
  • 请阅读book 或至少documentation 以了解您使用的功能。
  • 这都是关于 functionsmember functions 的。
  • to_string 应该从您传递的数字中返回一个字符串,所以如果您首先需要一个字符串实例才能调用它,那就太奇怪了

标签: c++ function object


【解决方案1】:

你让这种方式变得比它需要的更复杂。

std::to_string 是一个函数。只是一个功能。它需要一个int 并返回一个std::string

这是另一个函数:

void foo()
{
   // hello!
}

您不需要让函数成为成员函数。 C++ 不仅仅是一种面向对象的语言。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多