en the function is completed. while the following code is correct but would be "deprecated"; char *GetName() { static char buff[256]; // code prompting user for input and reading a string into buff ... return buff; } The static char buff would be placed into the static data segment and remain there until the code is finished executing. (2 marks) What are the problems associated with returning a pointer to a data structure? You must be certain that the data object referenced has a longer lifetime than the function that returned it. Otherwise you may get segmentation faults.What are the problems associated with returning a data structure by value? (1 mark) The copy of large structures and classes has an overhead of extra stack space and cost of copying may cause problems. Why has POSIX (the Unix standards group) found it appropriate to rework existing function libraries to provide alternatives for functions that return the address of a static data structure? Using the example of a function that used to return a pointer to a static character array, explain the preferred POSIX alternative mechanism. (1 mark) Explain when you might use a "wrapper" class. (1 mark) If you are working with system resources, you are advised to package (wrap) them inside classes. Explain the categorisation: "simple class", "static class", "manager class", "collection class", "interface" (or "protocol") class. (2 marks) Simple classAn instance of a simple class is a fixed size data structure whose size can be determined at compile time.There is no dependency on any other application or system data object.Static class has:Only static data members and static member functionsStatic data members are typically initializedManager class has:A constructor that sets those pointers to NULL (or to point to any of the auxiliary structures that can be created immediately)A destructor that releases all separately allocated structures.Collection c...