OVH Cloud OVH Cloud

Question de conception via les templates.

34 réponses
Avatar
Stephane Wirtel
Bonjour,

Voici un bout de code que je suis entrain de pondre afin de créer une
lecture de settings et initialisation de ces fameux settings de manière
automatique.

#include <iostream>
#include <string>
#include <list>

using namespace std;

template <class T> class ItemSetting {
public:
ItemSetting (void) {
// cout << "ItemSetting::ItemSetting" << endl;
}
~ItemSetting (void) {
// cout << "ItemSetting::~ItemSetting" << endl;
}
};

class Settings {
public:
Settings (void) {
cout << "Settings::Settings" << endl;
}
~Settings (void) {
cout << "Settings::~Settings" << endl;
}
private:
ItemSetting <bool> boolItemSetting;
ItemSetting <int> intItemSetting;
ItemSetting <char> charItemSetting;
ItemSetting <double> doubleItemSetting;
};

int main (int argc, char **argv) {
cout << "Size of Setting : " << sizeof (Settings) << endl;
return 0;
}

Dans mon main, ou via le constructeur de Settings, j'aimerais savoir si il
est possible de faire une boucle sur tous les variables "ItemSetting <XXX>"
se trouvant dans la partie "private" et d'initialiser toutes les variables.

Je me dis que j'aurais pû créer un std::vector de tous les ItemSettings et
via un std::iterator les initialiser via une boucle. Le problème est que
l'on ne peut pas mettre un type template dans un container de la STL.

Est-ce que quelqu'un aurait déjà songé à ce style de programmation ?

Merci,

PS : Il ne s'agit que d'un essai, pour voir les possibilités de la
Meta-programmation.

--
Stephane Wirtel <stephane.wirtel@belgacom.net>

4 réponses

1 2 3 4
Avatar
Pierre THIERRY
Le Thu, 12 May 2005 15:55:39 +0200, Gabriel Dos Reis a écrit :
De fait, je considère aujourd'hui que la seule manière vraiment
efficace de communiquer, en cas de problème (et un questionnement
inadéquat est un problème, à mon sens), est la franchise simple et
entière.
Je vois beaucoup d'affirmations, peu d'évidence.



Et pour cause, ça n'est pas évident pour tout le monde. Être franc
systématiquement est même choquant et déplacé pour pas mal de monde, en
Occident (je ne sais pas comment c'est dans d'autres cultures).

Pour ma part, c'est le fruit de réflexions personnelles, logiques et
théologiques, et d'expérimentations sur le terrain.

Comme ceci



par exemple ?


Je fais l'erreur de ne pas mentionner quelles recherches j'ai fait, ce
n'est donc pas un post parfait à l'aulne de mes propres critères. Mais
j'ai cherché avant de poser la question. Ne trouvant rien de probant
(beaucoup de résultats sur la recherche en chimie à deux phases), j'ai
posé la question ici...

Il peut y avoir plusieurs voies, sans contradiction. C'est ce que tu
contestes, e.g. qu'il n'y a qu'une seule voie ?


Je me vois mal affirmer qu'il n'y a qu'une seule voie pour éclairer
autrui. Je considère, mais c'est du domaine de l'opinion, je n'ai pas de
preuves, que la franchise simple et entière est de loin la plus
efficace.

Brièvement,
Nowhere man
--

OpenPGP 0xD9D50D8A


Avatar
Gabriel Dos Reis
Pierre THIERRY writes:

| Le Thu, 12 May 2005 15:55:39 +0200, Gabriel Dos Reis a écrit :
| > > De fait, je considère aujourd'hui que la seule manière vraiment
| > > efficace de communiquer, en cas de problème (et un questionnement
| > > inadéquat est un problème, à mon sens), est la franchise simple et
| > > entière.
| > Je vois beaucoup d'affirmations, peu d'évidence.
^^^^^^^^^
|
| Et pour cause, ça n'est pas évident pour tout le monde. Être franc

s/évidence/faits/

[...]

| > Il peut y avoir plusieurs voies, sans contradiction. C'est ce que tu
| > contestes, e.g. qu'il n'y a qu'une seule voie ?
|
| Je me vois mal affirmer qu'il n'y a qu'une seule voie pour éclairer
| autrui. Je considère, mais c'est du domaine de l'opinion, je n'ai pas de
| preuves, que la franchise simple et entière est de loin la plus
^^^^^^^^^^^^^^^
| efficace.
^^^^^^^^^

-- Gaby
Avatar
Pierre THIERRY
Le Thu, 12 May 2005 17:48:37 +0200, Gabriel Dos Reis a écrit :
Je vois beaucoup d'affirmations, peu d'évidence.
Et pour cause, ça n'est pas évident pour tout le monde.

s/évidence/faits/



Je n'ai réalisé ni dossier d'instruction ni rapport d'expérimentation.
C'est un vécu, pas forcément formalisé, et pas compilé. C'est bien pour
ça que je précise que cela relève de l'opinion, et non de la preuve.

Personnellement,
Nowhere man
--

OpenPGP 0xD9D50D8A



Avatar
Gabriel Dos Reis
Pierre THIERRY writes:

| Le Thu, 12 May 2005 17:48:37 +0200, Gabriel Dos Reis a écrit :
| > > > Je vois beaucoup d'affirmations, peu d'évidence.
| > > Et pour cause, ça n'est pas évident pour tout le monde.
| > s/évidence/faits/
|
| Je n'ai réalisé ni dossier d'instruction ni rapport d'expérimentation.
| C'est un vécu, pas forcément formalisé, et pas compilé.

J'avais compris cela. Ce que je voulais te faire sentir est,
je présume, comme tu le dis

Le problème, c'est que c'est un peu trop souvent trop subtil, justement.
Le mieux est probablement d'être percutant sans être violent pour
autant.

<g>

-- Gaby
1 2 3 4