#include #include #include using namespace std; /* Spectulation about how string is defined! */ class maybe_string { size_t len; bool long_string; union { char contents[8]; char *heap_contents; }; void add(const char* new_data, int length){ if(length < 8){ strcpy(contents, new_data); } else { heap_contents = new char[length]; strcpy(heap_contents, new_data); } len = length; } }; void print_string_with_length(const string &s, int len){ vector v; v.reserve(2); v.push_back("bear"); const int len = v.size(); v.push_back("moose"); cout << "v's data is stored at: "<< v.data() << endl; char* p = (char*)s.data(); for(int i = 1128; i < 1138; i++) p[i] = 'Z'; for(int i = 0; i < len; i++){ if(isprint(p[i])) cout << p[i]; else cout << (int)p[i] << ","; } cout << "\n"; } int main(){ string a = "bird that likes to "; string b = "lizard that likes to hide from birds"; cout << "a: " << (void*)a.data() << endl; cout << "b: " << (void*)b.data() << endl; print_string_with_length(a, 1200); print_string_with_length(b, 100); return 0; }