fr.comp.lang.c++
  Home FAQ Contact Sign in
fr.comp.lang.c++ only
 
Advanced search
December 2006
motuwethfrsasuw
    123 48
45678910 49
11121314151617 50
18192021222324 51
25262728293031 52
2006
 Jan   Feb   Mar   Apr 
 May   Jun   Jul   Aug 
 Sep   Oct   Nov   Dec 
2008 2007 2006  
total
fr.comp.lang.c++ Profile…
RELATED GROUPS

POPULAR GROUPS

more...

 Up
  Re: "templatiser" un string litteral         


Author: Loïc Joly
Date: Dec 14, 2006 23:42

Loïc Joly a écrit :
> J'avoue ne pas avoir trouvé de solution qui me satisfasse. Des
> suggestions ?

Merci de vos réponses qui confirment que je ne suis pas passé à côté de
quelquechose.

--
Loïc
no comments
  Re: Question « défi »         


Author: James Kanze
Date: Dec 14, 2006 06:06

Marc Boyer wrote:
> Le 14-12-2006, Pierre THIERRY levallois.eu.org> a écrit :
>> j'ai une question, qui est en fait un défi à réaliser ce qui m'a semblé
>> impossible en C++. Ou plutôt, difficilement possible. J'ai galéré
>> pendant 6 moix à essayer de tourner le truc dans tous les sens, et il
>> m'a semblé que ce ne serait possible qu'avec de la méta-programmation de
>> templates. L'utilisation d'une bibliothèque existante semblait tout à
>> fait possible, heureusement (la MPL). Néanmoins, quand je me suis mis à
>> Common Lisp, j'ai refait un essai avec ce nouveau langage, et là, en
>> quelques heures, j'avais un code qui marchait partiellement, et qui en
>> particulier implémentait ce qui m'avait semblé le plus inaccessible en
>> C++ :
> J'ai surement pas compris où était le problème, car je vois pas
> en quoi c'est difficile à faire en C++.

Une partie du problème vient déjà de sa formulation : il a des
listes. S'il parlait des collections (ou des containers), à la
place des listes, ça serait plus conforme à la nomenclature
habituelle.
Show full article (6.01Kb)
2 Comments
  Re: "templatiser" un string litteral         


Author: James Kanze
Date: Dec 14, 2006 05:38

Jean-Marc Bourguet wrote:
> Loïc Joly <loic.actarus.joly@numericable.fr> writes:
>> template bool test(String const &s)
>> {
>> return s == "Toto"; // Ou L"Toto" selon les cas
>> }
>> J'avoue ne pas avoir trouvé de solution qui me satisfasse. Des
>> suggestions ?
> La seule chose qui me vient a l'esprit c'est un trait contenant les
> litteraux et specialise pour chaque type de string que tu as.

Je ne vois rien de mieux non plus, mais je ne suis même pas sûr
que ça marche. Le problème de base, c'est que le C++ n'a que
deux types de constante de chaîne, pas un de plus. Et que ce que
tu as dans la chaîne dépend bien de ce que le compilateur décide
à te donner -- pour une chaîne constante, par exemple, tu ne
peux pas dire au compilateur qu'il faut qu'il l'encode en UTF-8.

Si Loïc n'a besoin que des caractères de base, une solution
possible serait de n'utiliser que des chaînes constantes
classiques, et une classe de traits pour la conversion, genre :
Show full article (1.51Kb)
no comments
  Re: Question « défi »         


Author: Jean-Marc Bourguet
Date: Dec 14, 2006 02:59

Pierre THIERRY levallois.eu.org> writes:
> Pour donner un exemple numérique, donc testable si quelqu'un a le courage
> d'aller jusqu'à implémenter son idée, on peut prendre les listes {1 2 3}
> et {4 5 6 7 8 9}, avec comme opération préalable d'enlever tout nombre
> supérieur à 6 de la deuxième liste, en refusant les couples dont un seul
> nombre est impair, et comme classement, les couples dont la différence
> est la plus petite ({3 5}=2 ou {2 4}=2) et le produit le plus grand ({3
> 5}=15). Il faudrait ensuite pourvoir simplement redonner deux autres
> listes, et que toutes les opérations soient refaites (modifier la seconde
> liste si nécessaire, combiner, filtrer les couples, sortir deux couples).

C'est plus facile a faire en Lisp, mais pas impossible a faire en C++.
Code rapide ecrit pendant qu'un test un peu long tourne.

#include
#include
#include
#include
#include
Show full article (3.44Kb)
no comments
  Re: �         


Author: Laurent Deniau
Date: Dec 14, 2006 02:56

Pierre THIERRY wrote:
> Bonjour tout le monde,
>
> j'ai une question, qui est en fait un défi à réaliser ce qui m'a semblé
> impossible en C++. Ou plutôt, difficilement possible. J'ai galéré
> pendant 6 moix à essayer de tourner le truc dans tous les sens, et il
> m'a semblé que ce ne serait possible qu'avec de la méta-programmation de
> templates. L'utilisation d'une bibliothèque existante semblait tout à
> fait possible, heureusement (la MPL). Néanmoins, quand je me suis mis à
> Common Lisp, j'ai refait un essai avec ce nouveau langage, et là, en
> quelques heures, j'avais un code qui marchait partiellement, et qui en
> particulier implémentait ce qui m'avait semblé le plus inaccessible en
> C++ :
>
> J'aimerais avoir un système pour créer toutes les combinaisons possibles
> d'éléments...
Show full article (4.68Kb)
1 Comment