title: C++11 backwards compatibility
body: <p>Is there anything from c++11 that I can use and expect compiled binaries to run on older systems? How can I tell which parts of c++11 are a part of the libstdc++.so and what actually gets compiled into the binary? Maybe I don't fully understand how such things work. Does c++11 break ABI compliance with older libraries?</p>
  
  <p>An example for clarity:</p>
  
  <p>Say I compile a program that uses auto and the new range based for loop. These things seem like they <em>should</em> work on systems with old c++ runtimes because they break down into c++ that would be valid on those machines. However, using something like regex should break on older systems because it won't be in their runtime.</p>
  
  <p>I haven't tested my theory yet because I don't have access to a c++11 compatible compiler, and my google searches haven't been helpful.</p>