How could I initialize a two dimensional char pointer in C++ class -
class tool { public: tool(); ~tool(); private: char **s; }; char *s1[]={"hello","world"};
how can initialize s
, make same s1
?
s={"hello","world"}
doesn't seem work.
while use std::vector<std::string>
, feel it's more beneficial directly answer question.
char** s
pointer pointer; possibly pointer first pointer in array of pointers.
char* s1[]
array of pointers const data (and should have been made const
).
if want s
work s1
, first need allocate array of pointers, reason std::vector
recommended others. new
, have release allocated memory @ point. using new
directly prone leaks. std::vector
release allocated memory when object destructed. call delete[]
in destructor if wanted to.
when array has been allocated, need std::copy
array of pointers in s1
array of pointers in s
. it's not single assign operation.
Comments
Post a Comment