centralized performance resources
This commit is contained in:
commit
50b15a1522
63 changed files with 328466 additions and 0 deletions
50
perf-cpp/scripts/enum-class-quiz.cc
Normal file
50
perf-cpp/scripts/enum-class-quiz.cc
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
#include <iostream>
|
||||
|
||||
struct Counter {
|
||||
inline static int x = 1;
|
||||
static void bump() { ++x; }
|
||||
};
|
||||
|
||||
struct Counter2 : Counter {
|
||||
inline static int x = 100;
|
||||
static void bump() { x += 10; }
|
||||
};
|
||||
|
||||
enum E { A = 1, B = 2 };
|
||||
|
||||
struct S {
|
||||
enum E { B = 3, C = 4 };
|
||||
static int f() { return B; }
|
||||
};
|
||||
|
||||
enum class M : unsigned char { A = 250, B, C };
|
||||
|
||||
int g() {
|
||||
int B = 40;
|
||||
return S::f() + B;
|
||||
}
|
||||
|
||||
int main() {
|
||||
Counter::bump();
|
||||
Counter2::bump();
|
||||
|
||||
// 112
|
||||
int t1 = Counter::x + Counter2::x;
|
||||
|
||||
// 43
|
||||
int u1 = g();
|
||||
|
||||
int B = 7;
|
||||
// 9
|
||||
int t2 = B + ::B;
|
||||
|
||||
int d;
|
||||
{
|
||||
using enum M;
|
||||
// 251 - 250 = 1?
|
||||
d = static_cast<int>(B) - static_cast<int>(A);
|
||||
}
|
||||
|
||||
std::cout << t1 << " " << u1 << " " << t2 << " " << d << "\n";
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue