Reputation: 5502
Sorry to start another of those unanswerable questions on SO, but I'm just curious as to the pros and cons of all the different string types in C++. My particular question is between MFC's CStrings and std::string (since I'm doing Windows only software), but this would extend to any of the string formats in C++. What do you all thing is the best string type to use in C++ and why?
UPDATE: I actually found a duplicate question. Thanks to those who already answered. Please direct any new responses to this other question: How do you handle strings in C++?
Upvotes: 3
Views: 2085
Reputation: 158364
To summarize...
std::string Pros:
std::string Cons:
CString Pros:
CString Cons:
Upvotes: 3
Reputation: 975
std::string can be manipulated by boost string algorithms in addition to the ones in STL. For me the support libraries for std::string just beat MFC hands down.
Upvotes: 1
Reputation: 308206
When in Rome, do as the Romans do. If you're using MFC, use CString because the classes are all optimized for it. Anything else, use std::string, because it's the standard and you'll find the experience useful in other contexts.
Upvotes: 7
Reputation: 3304
Most of the problems with c++ string types come from one or another string type requiring too large a memory overhead. That said, it also can become onerous if you have to convert from one string type to another. If you are building a large app, I suggest having a policy on which strings to use.
Upvotes: 0
Reputation: 46833
std::string
Upvotes: 5