Don't reinvent the wheel; use libraries.
Don't believe in magic; understand what your libraries do, how they do it, and at what cost they do it.
When you have a choice, prefer the standard library to other libraries.
Don't think that the standard library is ideal for everything.
Remember to #include the headers for the facilities you use; see §3.3.
Remember that standard library facilities are defined in namespace std; see §3.3.
Use string rather than char*; see §3.5, §3.6.
If in doubt, use a range-checked vector (such as Vec); see §3.7.2.
Prefer vector<T>, list<T>, and map<key,value> to T; see §3.7.1, §3.7.3, §3.7.4.
When adding elements to a container, use push_back() or back_inserter(); see §3.7.3, §3.8.
Use push_back() on a vector rather than realloc() on an array; see §3.8.
Catch common exceptions in main(); see §3.7.2.