c++ has come a long way, it has lot of feature that lead to do same task in n number of ways. What feature do you think should be avoided and list better alternative for the same.
Like use SmartPointers in places of pointers
c++ has come a long way, it has lot of feature that lead to do same task in n number of ways. What feature do you think should be avoided and list better alternative for the same.
Like use SmartPointers in places of pointers
Avoid malloc, use new.
Avoid memcpy, use a copy constructor.
Avoid #defines
, use const
s.
Avoid (C-style) casts
, use static_cast<C++>( style casts )
.
Avoid macros, use templates.
Avoid post-increment if you can use pre-increment.
Avoid new, use collections of value types, let the collection deal with memory management.
Avoid pointers to new'd objects, use boost::scoped_ptr
or boost::shared_ptr.
Avoid writing your own code to traverse collections, use <algorithm>
s
Avoid reinventing the wheel, see if boost has what you need.
Avoid "char * name" for storing strings, use std::string.
Avoid using namespace foo
, use using foo::bar
.
Avoid "static (internal linkage) declarations" use unnamed namespaces.
use new style casts
static_cast, const_cast, reinterpret_cast, dynamic_cast,
instead of C style casts which are no longer considered fully safe
also prefer using STL containers over dynamically resizing arrays at runtime