(*C99_today)++
Jonathan Gingras
Myths & Sophisms
People’s fear : *POINTERS
RAISE YOUR HANDS
RAISE YOUR HANDS
What’s C about anyways ?
What’s a shared object?
Compile-time linking
Overridable!!!
For shared objects
Runtime loading : dlload/dlsym
UNIX API
I/O : file descriptors
File descriptors are simple ints
Pipes
Sockets
C++ Part of the Presentation
Runtime Abstraction
How to deal in C
how the virtual keyword works
Abstraction
Basic templating
template <typename T>
class SomeClass {
T* data;
...
};
template <typename T>
void some_function(T &object) {
...
}
Template specialization
template <typename T>
some_function(T &object) {� // code
}
template <>
some_fonction(size_t object) {
// other code
}
template <typename T>
class {
some_mtd();
};
template <>
class<size_t> {
some_other_mtd();
}
The “Trait” Pattern
The advantages of
C++11 templating