Bây giờ tôi có một hàm phải trả về một chuỗi. Tôi đã thấy một triển khai cụ thể trong đó anh ta trả về một const char * từ hàm.Bạn có nên trả về "const char *" từ một hàm không?
Something như thế này:
const char * GetSomeString()
{
........
return somestlstring.c_str();
}
SomeOtherFoo()
{
const char * tmp = GetSomeString();
string s = tmp;
}
Bây giờ tôi cảm thấy có cái gì đó có khả năng sai với điều này. Đường ruột của tôi có đúng không? hoặc Đây có phải là mã hoàn toàn an toàn không?
Vui lòng cho tôi đề xuất ur. Tôi có một cảm giác trở lại const char * Bằng cách này có thể dẫn đến tàn phá ..
Cảm ơn, Arjun
Trừ khi somestlstring là một địa phương trong phạm vi chức năng. :-) – Konrad
@Konrad chắc chắn, nhưng tôi cũng nói rằng trong câu trả lời của tôi ngay sau khi tôi cho thấy mã. :) –