C++ Advanced Topics: 10 Questions

  • 时间:2020-09-17 11:25:43
  • 分类:网络文摘
  • 阅读:94 次

Here are the 10 questions to test your C++ advanced topics skills (correct answers are marked in BOLD):

You want to use std::map as a lookup table, but you might have several entries with the same key. You should use:
  • std::multimap
  • std::map, this isn’t a problem
  • std::map with vector instances for the values
  • std::duplimap
Which of these is not an advantage of std::string over char* strings?
  • move semantics are implemented for you
  • memory is automatically cleaned up
  • there are less opportunities to code off-by-one-bugs
  • strings take up less memory on the free store
When is it a good design to use a raw pointer as a member variable?
  • When you are willing to write code to manage the lifetime
  • When the compiler will generate lifetime management code for you
  • When the pointer is only used to call methods, not for lifetime
  • Never
In the statement x = update(b+c,d); which of these is an rvalue?
  • x
  • b+c
  • b+c,d
  • d
Some files that include a header to get a definition of a class can instead just use a forward reference. Which of these kinds of code can do that?
  • Code that only calls public methods of the class
  • Code that accesses methods of the class only through a pointer
  • Code that doesn’t call methods or declare instances of the class
  • Code that is in a friend class of the class
When should you choose list over vector?
  • Never
  • When you’ve measured a performance difference in your own application
  • When you will insert and delete more often than you will traverse
  • When the objects in the container are large
Which of these statements about standard algorithms is true
  • They may be slower than code you write yourself
  • They may be faster than code you write yourself
  • They cannot be faster than code you write yourself
  • They are always faster than code you write yourself
The standard vector will use move semantics if possible. Which contained elements can’t be moved unless you write a move constructor and move assignment operator?
  • objects with standard vector instances as member variables
  • objects with standard unique_pr instances as member variables
  • objects with a destructor
  • standard string instances
When is the best time to mark a member function as const?
  • never
  • after it’s tested and working
  • before anyone else writes code that calls it
  • before you write it
If a lambda captures a local by reference, what bad thing may happen?
  • The lambda itself cannot be put into a variable
  • The lambda will not be able to change the captured value
  • The value may go out of scope before the lambda uses it
  • The lambda cannot call a function

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
Java Pattern: Use Atomic Boolean to Return Single Usage Object  Significance of HTML and CSS in Mobile App Development  How to Reverse Words in a String using Modern Programming Langua  The Python Function to Retrieve the Producer Reward for Witness  Function to Compute the Average Salary Excluding the Minimum and  Efficient Algorithms to Compute The kth Factor of a Natural Numb  Can We Make Arithmetic Progression From Sequence of Numbers?  How to SSH to Remote Host using the Priviate/Public Keys Authent  How do you Test Getter and Setter Interface in Java using Mockit  Using Java’s Big Integer to Compute the Large Sum of One-h 
评论列表
添加评论