Escuela de Ciencias de la Computación e Informática

Programación II
  1. Which newsgroup should I post my questions?
  2. How do I post a question about code that doesn't work correctly?
  3. How should I handle resources if my constructors may throw exceptions?
  4. What do I do if I want to update an "invisible" data member inside a "const" member function?
  5. Does "const_cast" mean lost optimization opportunities?
  6. How do you use inheritance in C++, and is that different from Smalltalk?
  7. What are the practical consequences of the differences in Smalltalk/C++ inheritance?
  8. Do you need to learn a "pure" OOPL before you learn C++?
  9. What is the NIHCL?  Where can I get it?
  10. Where can I get a copy of "STL"?
  11. Nomenclature and common abbreviations
  12. What books are available for C++?
  13. Is C++ backward compatible with ANSI C?
  14. Where can I ftp a copy of the latest ANSI C++ draft standard?
  15. Are there any C++ standardization efforts underway?
  16. Who uses C++?
  17. What are some advantages of C++?
  18. What is C++?  What is OOP?
  19. What is a class?
  20. What is an object?
  21. What is a reference?
  22. What happens if you assign to a reference?
  23. How can you reseat a reference to make it refer to a different object?
  24. When should I use references, and when should I use pointers?
  25. What are inline fns? What are their advantages? How are they declared?
  26. What is a constructor?  Why would I ever use one?
  27. What are destructors really for?  Why would I ever use them?
  28. What is operator overloading?
  29. What operators can/cannot be overloaded?
  30. Can I create a "**' operator for "to-the-power-of' operations?
  31. What is a "friend'?
  32. Do "friends' violate encapsulation
  33. What are some advantages/disadvantages of using friends?
  34. What does it mean that "friendship is neither inherited nor transitive'?
  35. When would I use a member function as opposed to a friend function?
  36. How can I provide printing for a "class X'?
  37. Why should I use <iostream.h> instead of the traditional <stdio.h>?
  38. Printf/scanf weren't broken; why "fix' them with ugly shift operators?
  39. Does "delete ptr' delete the ptr or the pointed-to-data?
  40. Can I free() ptrs alloc'd with "new' or "delete' ptrs alloc'd w/ malloc()?
  41. Why should I use "new' instead of trustworthy old malloc()?
  42. Why doesn't C++ have a "realloc()' along with "new' and "delete'?
  43. How do I allocate / unallocate an array of things?
  44. What if I forget the "[]' when "delete'ing array allocated via "new X[n]'?
  45. What's the best way to create a "#define macro_ for _NULL_ in C___
  46. How can I handle a constructor that fails?
  47. How can I compile-out my debugging print statements?
  48. What is "const correctness'?
  49. Is "const correctness' a good goal?
  50. Is "const correctness' tedious?
  51. Should I try to get things const correct "sooner' or "later'?
  52. What is a "const member function'?
  53. What is an "inspector'?  What is a "mutator'?
  54. What is "casting away const in an inspector' and why is it legal?
  55. But doesn't 'cast away const' mean lost optimization opportunities?
  56. What is inheritance?
  57. Ok, ok, but what is inheritance?
  58. How do you express inheritance in C++?
  59. What is "incremental programming'?
  60. Should I pointer-cast from a derived class to its base class?
  61. Derived* --> Base* works ok; why doesn't Derived** --> Base** work?
  62. Does array-of-Derived is-NOT-a-kind-of array-of-Base mean arrays are bad?
  63. What is a "virtual member function'?
  64. What's the big deal of separating interface from implementation?
  65. What is dynamic dispatch?  Static dispatch?
  66. Can I override a non-virtual fn?
  67. Can I "revoke' or "hide' public member fns inherited from my base class?
  68. Is a "Circle' a kind-of an "Ellipse'?
  69. Are there other options to the "Circle is/isnot kind-of Ellipse' dilemma?
  70. Why can't I access "private' things in a base class from a derived class?
  71. What's the difference between "public:', "private:', and "protected:'?
  72. How can I protect subclasses from breaking when I change internal parts?
  73. Why does base ctor get *base*'s virtual fn instead of the derived version?
  74. Does a derived class dtor need to explicitly call the base destructor?
  75. How do you express "private inheritance'?
  76. How are "private derivation' and "containment' similar? dissimilar?
  77. Should I pointer-cast from a "privately' derived class to its base class?
  78. Should I pointer-cast from a "protected' derived class to its base class?
  79. What are the access rules with "private' and "protected' inheritance?
  80. Do most C++ programmers use composition or private inheritance?
  81. How do I separate interface from implementation in C++ (like Modula-2)?
  82. What is an ABC ("abstract base class')?
  83. What is a "pure virtual' member function?
  84. How can I provide printing for an entire hierarchy rooted at "class X'?
  85. What is a "virtual destructor'?
  86. What is a "virtual constructor'?
  87. What are some good C++ coding standards?
  88. Are coding standards necessary?  sufficient?
  89. Should our organization determine coding standards from our C experience?
  90. Should I declare locals in the middle of a fn or at the top?
  91. What source-file-name convention is best? "foo.C'? "'? "foo.cpp'?
  92. What header-file-name convention is best? "foo.H'? "foo.hh'? "foo.hpp'?
  93. Are there any lint-like guidelines for C++?
  94. Why does C++'s FAQ have a section on Smalltalk? Is this Smalltalk-bashing?
  95. What's the difference between C++ and Smalltalk?
  96. What is "static typing', and how is it similar/dissimilar to Smalltalk?
  97. Which is a better fit for C++: "static typing' or "dynamic typing'?
  98. How can you tell if you have a dynamically typed C++ class library?
  99. Will "standard C++' include any dynamic typing primitives?
  100. What is value and/or reference semantics, and which is best in C++?
  101. What is "virtual data', and how-can / why-would I use it in C++?
  102. What's the difference between virtual data and dynamic data?
  103. Should class subobjects be ptrs to freestore allocated objs, or contained?
  104. What are relative costs of the 3 performance hits of allocated subobjects?
  105. What is an "inline virtual member fn'?  Are they ever actually "inlined'?
  106. Sounds like I should never use reference semantics, right?
  107. Does the poor performance of ref semantics mean I should pass-by-value?
  108. How can I call a C function "f()' from C++ code?
  109. How can I create a C++ function "f()' that is callable by my C code?
  110. Why's the linker giving errors for C/C++ fns being called from C++/C fns?
  111. How can I pass an object of a C++ class to/from a C function?
  112. Can my C function access data in an object of a C++ class?
  113. Why do I feel like I'm "further from the machine' in C++ as opposed to C?
  114. What is the type of "ptr-to-member-fn'?  Is it diffn't from "ptr-to-fn'?
  115. How can I ensure "X's objects are only created with new, not on the stack?
  116. How do I pass a ptr to member fn to a signal handler,X event callback,etc?
  117. Why am I having trouble taking the address of a C++ function?
  118. How do I declare an array of pointers to member functions?
  119. How can I insert/access/change elements from a linked list/hashtable/etc?
  120. What's the idea behind "templates'?
  121. What's the syntax / semantics for a "function template'?
  122. What's the syntax / semantics for a "class template'?
  123. What is a "parameterized type'?
  124. What is "genericity'?
  125. How can I fake templates if I don't have a compiler that supports them?
  126. Why are classes with static data members getting linker errors?
  127. What's the difference between the keywords struct and class?
  128. Why can't I overload a function by its return type?
  129. What is "persistence'?  What is a "persistent object'?
Página Principal