C++ 如何使用运算符重载将int赋值给char*

C++ 如何使用运算符重载将int赋值给char*,c++,c++98,C++,C++98,我有一个类,它将大数字保存为字符串,并可以对其进行一些一般的数学运算。其中一个操作是将整数0-9分配给大数字的一位。我的问题是如何重载运算符并将int值转换为char*并保存它,而不是保存字符串中的数字。 以下代码应该可以工作: \\ bignumber[3] == '8' bignumber[3] = 4 \\ bignumber[3] == '4' 您可以将其转换为字符串 int number; std::ostringstream stream_string; stream_string

我有一个类,它将大数字保存为字符串,并可以对其进行一些一般的数学运算。其中一个操作是将整数0-9分配给大数字的一位。我的问题是如何重载运算符并将int值转换为char*并保存它,而不是保存字符串中的数字。 以下代码应该可以工作:

\\ bignumber[3] == '8'
bignumber[3] = 4
\\ bignumber[3] == '4'

您可以将其转换为字符串

int number;
std::ostringstream stream_string;
stream_string << number;
string numberString = stream_string.str();

重载运算符以将int转换为char*是一种黑暗的做法,不要这样做,请使用一种方法来实现。您不需要。基于n+'0'保存一个字符,其中n必须在[0…9]中;我认为这个问题不值得投反对票,这是一个有效的想法。@初学者:不,它不值得投反对票,它应该作为副本关闭,因为它以前被问过很多次。但是询问者很难知道正确的搜索词是索引setter还是下标setter。它有效,但不是我的答案。问题是如何只使用一个表达式和运算符将int赋值给char*。不幸的是,我不能改变这个问题!
bignumber[0] = numberString.c_str();