c++ - Is there any danger of assigning a const char* to a string? -


i assigning const char* value string. checking condition , setting string empty default value.

in parameterised constructor setting string empty follows

classname:: classname(x x, string name):x(x), name(){}

i set string empty once done using

name=""; 

is above approach of initialisation correct?

also there risk of assigning const char* string?

const char* diag; string name;  name= diag; 

the class std::string has corresponding constructors , assignment operators objects of type char *. problem can arise relative objects of type when initializer null pointer.

take account if there declared variable this

const char *name = ""; 

then name not null pointer. pointer first character (character '\0') of array of type const char[1] corresponds "empty" string literal , has static storage duration.

if write example

std::strig s( name ); 

or

std::string s = name; 

then empty object s of type std::string becsuse there nothing copy "empty" string literal.

thus not make sense declare objects of type std::string such way. enough write

std::string s; 

Comments

Popular posts from this blog

account - Script error login visual studio DefaultLogin_PCore.js -

xcode - CocoaPod Storyboard error: -