C++ ostream char**
C++ ostream char**
我建立了一个类Client
,我想得到它的ostream
。这是类:
class Client {
MyString id;
MyString full_name;
char gender;
unsigned short age;
unsigned short hobbies_num;
char** hobbies_list;
这里是我已经写过的代码:
ostream& operator<<(ostream& osc, const Client& for_print)
{
return osc << for_print.id << endl << for_print.full_name << endl << for_print.gender << endl << for_print.age << endl << for_print.hobbies_num << endl;
}
我的问题是如何打印最后一个成员,hobbies_list
,这是二维动态数组的字符?
使用for
循环
for (int i = 0; i < for_print.hobbies_num; i++) {
osc << for_print.hobbies_list[i] << endl;
}
使用标准算法
std::for_each
:
std::ostream& operator<<(std::ostream& osc, const Client& for_print)
{
osc << for_print.id << endl << for_print.full_name << endl << for_print.gender << endl << for_print.age << endl << for_print.hobbies_num << endl;
for_each(for_print.hobbies_list, for_print.hobbies_list + for_print.hobbies_num, [&](char* x){osc << x << endl; });
return osc;
}
相关文章:
- 为char数组调整zlib-zpipe
- 使用strcpy将char数组的元素复制到另一个数组
- 为什么 Serial.println(<char[]>);返回随机字符?
- 包括"lvtocon.h",未定义对'operator<<(std::ostream&, char const*)的引用
- 与'operator<<'不匹配(操作数类型'std::ostream {aka std::basic_ostream<char>}'
- char* 如何读取十六进制的这个整数?它在 ostream::write() 中是如何工作的
- \main.cpp|103|error: 与"operator<<"不匹配(操作数类型为"std::ostream {aka std::basic_ostream<char&g
- 重载运算符'<<'的使用不明确(操作数类型'ostream'(也称为"basic_ostream<char>")和"Person")
- 在 ostream 中使用运算符 const char*
- ostream 和运算符 std::basic_string<char, std::char_traits<char>, std::分配器<char>>?
- 错误:无法将"std::ostream {aka std::basic_ostream<char>}"lvalue 绑定到"std::basic_ostream&<char>&
- high_resolution_clock错误:无法将"std::ostream {aka std::basic_ostream}"<char>lvalue 绑定到"std::basic_
- 在不复制的情况下从Ostream中获取char*
- 二进制表达式的操作数无效("ostream"(又名"basic_ostream<char>")和"ostream")
- C++ ostream char**
- 如何理解函数 ostream&operator<< (ostream& os, const unsigned char* s)
- 二进制表达式的操作数无效("std::__1::basic_ostream<char>"和"ostream"(又名"basic_ostream")) std::cout<<&l
- 如何使用"char *filename"在构造函数中初始化"ostream &out"
- 二进制表达式的操作数无效("ostream"(又名"basic_ostream<char>")和"日期")
- 为什么ostream为定义为' volatile char[] '的字符串打印' 1 ' ?