Le code ci-dessous provient de LevelDB. Je donne deux blocs de code pour une meilleure compréhension. Je suis incapable de comprendre ce qui se passe. ThreadState est une structure et j'ai écrit ici pour le rendre facile pour le lecteur.LevelDB --- Code en C++
struct ThreadState {
int tid; // 0..n-1 when running in n threads
Random rand; // Has different seeds for different threads
Stats stats;
SharedState* shared;
ThreadState(int index)
: tid(index),
rand(1000 + index) {
}
};
Le code marqué ci-dessous est-il une instanciation d'objet de classe Benchmark? Que se passe-t-il dans le code marqué ci-dessous?
void Run() {
PrintHeader();
Open();
const char* benchmarks = FLAGS_benchmarks;
while (benchmarks != NULL) {
{
//code ommitted
}
// Reset parameters that may be overriddden bwlow
***void (Benchmark::*method)(ThreadState*) = NULL;*** // What does this code line mean? // Benchmark is a class.
bool fresh_db = false;
int num_threads = FLAGS_threads;
if (name == Slice("fillseq")) {
fresh_db = true;
method = &Benchmark::WriteSeq;
}
Si nécessaire, je peux aussi donner une implémentation détaillée de Benchmark.
Merci beaucoup pour votre aide!
Merci beaucoup pour votre réponse. Cela m'a beaucoup aidé. Seulement si la vie était aussi bonne que stackoverflow !! –
@NewUser - Heureux d'aider :) – StoryTeller