fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. // Foo adds an element to a std::vector passed by reference
  5. // on construction in the destructor
  6. struct Foo {
  7. Foo(std::vector<double>& v) : m_v(v){
  8. }
  9. ~Foo(){
  10. m_v.push_back(1.0);
  11. }
  12. std::vector<double>& m_v;
  13. };
  14.  
  15. std::vector<double> bar(){
  16. std::vector<double> ret;
  17. Foo foo(ret);
  18. return ret;
  19. }
  20.  
  21. int main(){
  22. std::cout << bar().size() << "\n";
  23. }
Success #stdin #stdout 0s 4400KB
stdin
Standard input is empty
stdout
1