Je crois que c'est effectivement la meilleure solution.
Je prends effectivement en charge un certain nombre de situations comme celles-ci, mais je ne pensais pas qu'un casting à gauche provoquerait cette ambigüité.
Merci à tous pour vous être penchés sur le problème. J'essaie et vous tiens au courant !
C'est vrai mais ce qui me chagrine, c'est que cela fonctionnait très bien avec gcc/g++ 2.95 ... De plus dans mon esprit, étant donné l'expression
A << 4
Il me semblait que puisque A est une lvalue immédiatement suivie par un opérateur, le compilo devrait considérer que celui-ci est une fonction membre de l'objet: A.operator << (4). Effectivement, le typage semblant être renforcé dans la version 3.2, un "4" tout seul n'est peut-être pas plus proche d'un long que d'un bool, mais tout de même ce casting à gauche me rends perplexe.
Le problème, c'est que cette classe fait en fait partie d'une bibliothèque qui doit donc compiler partout, et qu'en plus je ne dispose pas de 2.95 sur toutes les plateformes sur lesquelles je travaille. Pour achever le tout, j'ai connu quelques difficultés au runtime avec cette version: parfois les exceptions n'étaient pas remonté (Abort direct).
Oups ! Bien vu, mais en fait c'est effectivement le cas. La classe présentée est en fait un exemple simplifiée que j'ai écrit de tête. Donc je cherche encore...
C'est une question de point de vue, évidement. Pour ma part, j'aime le C++ parce qu'il me permet justement de faire ces choses là, et je trouve que c'est nécessaire lorsque l'on veut réellement définir de nouveaux types. Sinon ce ne sont que des fonctions et des structures, avec règles de nommage locales. Et en ce qui concerne les opérateurs, le problème vient du fait que beaucoup de gens travestissent l'usage initial des opérateurs, souvent à tort et à travers. Dans mon cas, « << » sert réellement à décaler mon objet vers la gauche.
Exemple, la concaténation des chaines en Java avec l'opérateur "+". Ce serait sympa de pouvoir exprimer un objet de la même façon sans avoir à systématiquement passer par un .getString(). Autre exemple - ambassadeur du développement C++ - : les nombres complexes. C'est typiquement un objet qui doit se comporter comme un réel lorsque sa partie imaginaire est nulle, et qui se mélange aux équations traditionnelles. C'est impossible à faire proprement en Java, dans lequel on se mélange déjà les pattes entre opérateur = et méthodes .equal() à cause des références, sans entrer dans un cas de figure comme le nôtre. Bref, le Java oriente très judicieusement le problème de façon à favoriser les cas de figures les plus courants, mais en aucun le résoud.
Le Java est un très bon langage en soi, et pour l'usage pour lequel il a été conçu (portabilité + rapidité de développement), mais bon nombre de facette du développement objet ont été volontairement éllipsés (surcharge des opérateurs, héritage multiple, template ...). L'effet pervers vient du fait que beaucoup de gens, aujourd'hui s'orientent Java parce que toutes les difficultés sont officiellement masquées par le standard. « L'héritage multiple finirait par poser trop de problème, spécialement si toutes les classes dérivent de Object. Pas de problème, on n'a qu'a interdire l'héritage multiple ! ». Soit, mais tôt ou tard, le travail devra être fait quand même, et inexorablement, on finira par rencontrer un problème équivalent.
Il faut aussi que ces TLD soient accessibles aux commun des mortels. Même pour un site communautaire, je pourrais très bien avoir envie d'utiliser un « .fr » comme nom de domaine de base, pour une page francophone, avec éventuellement un .net ou .org pour la version internationale de mon site. En cas de conflit, je ne serais pas dépendant d'un organisme américain pour gérer mes affaires locales. Mais tout le monde sait ce que cela représente d'obtenir un .fr
Dans ce cas, si tu tiens absolument à visiter ce site, envoie une capture d'écran au webmestre pour qu'il se rende compte visuellement du rendu de son site. Il y a une part de mauvaise volonté dans l'histoire, mais je comprends aussi qu'un administrateur ne puisse se permettre de reconsidérer une config qui fonctionne à la moindre remarque ... Envoie-lui aussi une capture des sources de la page avec les balises incriminées soulignées en rouge, et bien sûr: un patch !
Si après cela il ne veut toujours pas changer son site, je crois qu'il n'y a rien à faire ...
Justement, je me demande si l'on doit vraiment se réjouir ... Je veux dire: Comment le Patent Office est-il arrivé à prendre cette décision ? Simplement du jour au lendemain, ou parce qu'il y a eu des pressions ? Et si c'est le cas, cet Office peut-il encore jouer son rôle correctement (protéger la propriété intellectuelle ou industrielle, dans un milieu de requins et de géants) ? Est-ce que Eolas aurait pu de la même façon faire remettre en cause un brevet déposé par Microsoft ?
Ces auteurs de virus qui se font la guerre par l'entremise de leur propres créations sont effectivement très drôles. Cela me rappelle un peu « Léonard », qui se bat avec un génie concurrent, avec un robot de sa création mais en tout point semblable à celui de son adversaire ... D'ici quelques années, ces vers seront si nombreux qu'ils auront totalement colonisé nos ordinateurs, et les pauvres utilisateurs n'auront plus qu'à laisser faire et à profiter du spectale, peinards:
- Allez, 20 euro sur Bagle ...
- Tenu ...
Maintenant, quitte à développer ces entités, autant qu'elles soient utiles, ou au moins qu'elle aient de la gueule ! :-) Donc, pour le futur, je propose:
- Les vers-backdoors qui servent à faire tourner un seti@home ou assimilé ...
- Les vers qui s'installent sur une machine puis se connectent à un serveur IRC pour en peupler les canaux, et interagir avec une IA du styme emacs-doctor. De quoi renvoyer nos bons vieux bots au placards (le flood des canaux IRC: APrès le spam le prochain fléau ?).
- Le ver tamagotchi qui s'installe toujours contre votre gré sur votre machine, vous fait des yeux de chaton pour éviter que vous ne l'atomisiez de suite, puis vous oblige à le nourrir trois fois par jour.
- Le ver qui installe un compagnon Office (le trombonne qui tapotte sur l'écran, de préférence).
- Les vers qui se reproduisent, puis qui vont mener à eux seuls des campagnes de UT2 en réseau.
D'ici le siècle prochain, on aura finalement réussi à la mettre sur pieds, la Matrice ! :-)
Bonne nuit à tous (je retourne regarder DUNE sur M6).
Avant (lamer): Quelqu'un sait comment on ordonne à la SoundBlaster de me jouer un sample en DMA ?
Avant (hacker): 'faudra d'abord booter sur une disquette pour virer le mode V86 (donc pas d'EMM386 ou autre). Ensuite, il y a un programme d'exemple sur les CDs « ACE » et ptet mem sur RTC ONE.
Après (luser): Comment on recompile la kernelle ?
Après (hacker): Google est ton ami !
C'était le bon temps d'ailleurs, l'époque des BBS. Le net et les réseaux électroniques n'étaient pas encore devenus le gigantesque business mondial d'aujourd'hui, les gens qui les fréquentaient connaissaient une minimum de choses (ou au moins s'y intérressaient), et au milieu du vide numérique, les miniserveurs de quelques voies RTC apparaissaient souvent comme des oasis, ou au moins comme de chaleureux repaires de routiers. Snif ! :-)
En somme, c'est le grand retour du core war (ou coreware, selon les goûts).
N'en déplaise à tout ceux qui ont un jour pati de ce genre de ver, ce serait marrant de voir ce genre d'initiative se démocratiser:
Blaster: I r00l d4 w0rldz ! All your base are belong to me !
MyDoom: Blaster my ass, you bonehead !
Nimda: I'll kill u all ! Repent now !
CodeRed: May all your data rest in peace ...
User: Bon est-ce que je pourrais bosser un peu maintenant ?
Et puis quand il y aura vraiment trop de programmes malfaisants qui se serviront du PC de Luce et Henri comme d'une cour de récré, peut-être que les utilisateurs auront envie de migrer vers un système plus sûr ...
Il paraîtrait même que chez MS on envisage dorénavant de n'utiliser que les panneaux 4x3 de chez Avenir Publicité pour les communications confidentielles.
Pas besoin d'aller aux USA, ces LEDs blanches « révolutionnaires » sont au catalogue de mon revendeur électronique depuis quelques mois, et j'ai effectivement tenu en main la lampe frontale équipée de quatres LEDs. L'effet est bluffant, je dois dire. Il existe également des petites lampes torches équipés de ces quatre même LEDs, et à luminosité égale, la lampe peut fonctionner en continu pendant 32 heures avec deux piles baton classiques. Chez http://www.selectronic.fr(...) (leur catalogue en ligne semble indisponible), ils proposent même de petites grappes de LED montées en secteurs sur une douille d'ampoule électrique classique à baillonette, pour remplacer les feux de navigation des navires de plaisance. C'est vrai que j'ai hâte d'en avoir dans ma voiture aussi ! Elles n'ont que des avantages et donnent une touche assez futuriste à l'ensemble.
Ceci dit, il faut souligner que les LEDs à haute luminosité existent depuis au moins 10 ans même si on n'avait pas atteint un tel niveau, et que les feux de circulations à LEDs sont déjà légion en région parisienne depuis plusieurs années ...
Utilise plutôt des outils style xosview ou autre pour visualiser ta RAM, en fait sur tous mes Linux, le système occupe toujours en moyenne 80% de la RAM, à des fins diverses:
- De la RAM réellement occupée
- Des buffers
- Des données en cache.
Donc si ta demande en mémoire augmente, les données en cache seront écrasées en priorité, ce qui fait que cette mémoire n'est pas vraiment occupée, elle est juste réservée dans le cas où tu voudrais de nouveau accéder aux données déjà chargées une fois.
Atttention: J'ai obtenu ces resultats avec une config stable. J'ai une gateway sous linux que je ne touche quasiment jamais. Mais je ne suis pas sur que tout se passe aussi bien si on debranche, rebranche le modem, se connecte, se deconnecte, eteint la machine, la ralumme sans arrêt.
[^] # Re: Problèmes de compilation g++ (suite)
Posté par Obsidian . En réponse au journal Problèmes de compilation g++ (suite). Évalué à 1.
Je prends effectivement en charge un certain nombre de situations comme celles-ci, mais je ne pensais pas qu'un casting à gauche provoquerait cette ambigüité.
Merci à tous pour vous être penchés sur le problème. J'essaie et vous tiens au courant !
[^] # Re: Problèmes de compilation g++ (suite)
Posté par Obsidian . En réponse au journal Problèmes de compilation g++ (suite). Évalué à 1.
A << 4
Il me semblait que puisque A est une lvalue immédiatement suivie par un opérateur, le compilo devrait considérer que celui-ci est une fonction membre de l'objet: A.operator << (4). Effectivement, le typage semblant être renforcé dans la version 3.2, un "4" tout seul n'est peut-être pas plus proche d'un long que d'un bool, mais tout de même ce casting à gauche me rends perplexe.
Le problème, c'est que cette classe fait en fait partie d'une bibliothèque qui doit donc compiler partout, et qu'en plus je ne dispose pas de 2.95 sur toutes les plateformes sur lesquelles je travaille. Pour achever le tout, j'ai connu quelques difficultés au runtime avec cette version: parfois les exceptions n'étaient pas remonté (Abort direct).
[^] # Re: Problèmes de compilation g++ (suite)
Posté par Obsidian . En réponse au journal Problèmes de compilation g++ (suite). Évalué à 1.
[^] # Re: Problèmes de compilation g++ (suite)
Posté par Obsidian . En réponse au journal Problèmes de compilation g++ (suite). Évalué à 1.
C'est une question de point de vue, évidement. Pour ma part, j'aime le C++ parce qu'il me permet justement de faire ces choses là, et je trouve que c'est nécessaire lorsque l'on veut réellement définir de nouveaux types. Sinon ce ne sont que des fonctions et des structures, avec règles de nommage locales. Et en ce qui concerne les opérateurs, le problème vient du fait que beaucoup de gens travestissent l'usage initial des opérateurs, souvent à tort et à travers. Dans mon cas, « << » sert réellement à décaler mon objet vers la gauche.
Exemple, la concaténation des chaines en Java avec l'opérateur "+". Ce serait sympa de pouvoir exprimer un objet de la même façon sans avoir à systématiquement passer par un .getString(). Autre exemple - ambassadeur du développement C++ - : les nombres complexes. C'est typiquement un objet qui doit se comporter comme un réel lorsque sa partie imaginaire est nulle, et qui se mélange aux équations traditionnelles. C'est impossible à faire proprement en Java, dans lequel on se mélange déjà les pattes entre opérateur = et méthodes .equal() à cause des références, sans entrer dans un cas de figure comme le nôtre. Bref, le Java oriente très judicieusement le problème de façon à favoriser les cas de figures les plus courants, mais en aucun le résoud.
Le Java est un très bon langage en soi, et pour l'usage pour lequel il a été conçu (portabilité + rapidité de développement), mais bon nombre de facette du développement objet ont été volontairement éllipsés (surcharge des opérateurs, héritage multiple, template ...). L'effet pervers vient du fait que beaucoup de gens, aujourd'hui s'orientent Java parce que toutes les difficultés sont officiellement masquées par le standard. « L'héritage multiple finirait par poser trop de problème, spécialement si toutes les classes dérivent de Object. Pas de problème, on n'a qu'a interdire l'héritage multiple ! ». Soit, mais tôt ou tard, le travail devra être fait quand même, et inexorablement, on finira par rencontrer un problème équivalent.
[^] # Re: 81 tonnes de matières premières
Posté par Obsidian . En réponse au journal 81 tonnes de matières premières. Évalué à 1.
Si tu passes par la Porte des Etoiles, alors c'est
--->O
... qu'il faut écrire. Tout le monde sait qu'une Porte des Etoiles, c'est rond ! :-)
[^] # Re: VeriSign attaque l'ICANN
Posté par Obsidian . En réponse à la dépêche VeriSign attaque l'ICANN. Évalué à 1.
# Re: 81 tonnes de matières premières
Posté par Obsidian . En réponse au journal 81 tonnes de matières premières. Évalué à 3.
[^] # Re: 1,8 tonnes de matières premières
Posté par Obsidian . En réponse au journal 1,8 tonnes de matières premières. Évalué à -2.
[^] # Re: Utilisateurs de logiciels libres, compexés ?
Posté par Obsidian . En réponse au journal Utilisateurs de logiciels libres, compexés ?. Évalué à 2.
Private joke ?
[^] # Re: Utilisateurs de logiciels libres, compexés ?
Posté par Obsidian . En réponse au journal Utilisateurs de logiciels libres, compexés ?. Évalué à 2.
Si après cela il ne veut toujours pas changer son site, je crois qu'il n'y a rien à faire ...
[^] # Re: Le brevet d'Eolas est tombé \o/
Posté par Obsidian . En réponse au journal Le brevet d'Eolas est tombé \o/. Évalué à 1.
# Re: Le brevet d'Eolas est tombé \o/
Posté par Obsidian . En réponse au journal Le brevet d'Eolas est tombé \o/. Évalué à 7.
# Re: mon virus est plus gros que le tien...
Posté par Obsidian . En réponse au journal mon virus est plus gros que le tien.... Évalué à 1.
- Allez, 20 euro sur Bagle ...
- Tenu ...
Maintenant, quitte à développer ces entités, autant qu'elles soient utiles, ou au moins qu'elle aient de la gueule ! :-) Donc, pour le futur, je propose:
- Les vers-backdoors qui servent à faire tourner un seti@home ou assimilé ...
- Les vers qui s'installent sur une machine puis se connectent à un serveur IRC pour en peupler les canaux, et interagir avec une IA du styme emacs-doctor. De quoi renvoyer nos bons vieux bots au placards (le flood des canaux IRC: APrès le spam le prochain fléau ?).
- Le ver tamagotchi qui s'installe toujours contre votre gré sur votre machine, vous fait des yeux de chaton pour éviter que vous ne l'atomisiez de suite, puis vous oblige à le nourrir trois fois par jour.
- Le ver qui installe un compagnon Office (le trombonne qui tapotte sur l'écran, de préférence).
- Les vers qui se reproduisent, puis qui vont mener à eux seuls des campagnes de UT2 en réseau.
D'ici le siècle prochain, on aura finalement réussi à la mettre sur pieds, la Matrice ! :-)
Bonne nuit à tous (je retourne regarder DUNE sur M6).
# Re: Différences générationnelles...
Posté par Obsidian . En réponse au journal Différences générationnelles.... Évalué à 3.
Avant (hacker): 'faudra d'abord booter sur une disquette pour virer le mode V86 (donc pas d'EMM386 ou autre). Ensuite, il y a un programme d'exemple sur les CDs « ACE » et ptet mem sur RTC ONE.
Après (luser): Comment on recompile la kernelle ?
Après (hacker): Google est ton ami !
C'était le bon temps d'ailleurs, l'époque des BBS. Le net et les réseaux électroniques n'étaient pas encore devenus le gigantesque business mondial d'aujourd'hui, les gens qui les fréquentaient connaissaient une minimum de choses (ou au moins s'y intérressaient), et au milieu du vide numérique, les miniserveurs de quelques voies RTC apparaissaient souvent comme des oasis, ou au moins comme de chaleureux repaires de routiers. Snif ! :-)
[^] # Re: mon virus est plus gros que le tien...
Posté par Obsidian . En réponse au journal mon virus est plus gros que le tien.... Évalué à 10.
N'en déplaise à tout ceux qui ont un jour pati de ce genre de ver, ce serait marrant de voir ce genre d'initiative se démocratiser:
Blaster: I r00l d4 w0rldz ! All your base are belong to me !
MyDoom: Blaster my ass, you bonehead !
Nimda: I'll kill u all ! Repent now !
CodeRed: May all your data rest in peace ...
User: Bon est-ce que je pourrais bosser un peu maintenant ?
Et puis quand il y aura vraiment trop de programmes malfaisants qui se serviront du PC de Luce et Henri comme d'une cour de récré, peut-être que les utilisateurs auront envie de migrer vers un système plus sûr ...
[^] # Re: Déjà vendredi soir ?
Posté par Obsidian . En réponse au journal Déjà vendredi soir ?. Évalué à 1.
Impossible, ils sont trop sensibles aux BSOD:
http://www.icwhen.com/entertainment/humor/bsod.jpg(...)
# Re: Ampoule à technologie LED : La révolution de l'éclairage
Posté par Obsidian . En réponse au journal Ampoule à technologie LED : La révolution de l'éclairage. Évalué à 1.
Ceci dit, il faut souligner que les LEDs à haute luminosité existent depuis au moins 10 ans même si on n'avait pas atteint un tel niveau, et que les feux de circulations à LEDs sont déjà légion en région parisienne depuis plusieurs années ...
[^] # Re: bug google ?
Posté par Obsidian . En réponse au journal bug google ?. Évalué à 2.
# Re: Déjà vendredi soir ?
Posté par Obsidian . En réponse au journal Déjà vendredi soir ?. Évalué à 6.
# Re: bug google ?
Posté par Obsidian . En réponse au journal bug google ?. Évalué à 1.
# Re: Reduire la ram utilisée
Posté par Obsidian . En réponse au journal Reduire la ram utilisée. Évalué à 1.
- De la RAM réellement occupée
- Des buffers
- Des données en cache.
Donc si ta demande en mémoire augmente, les données en cache seront écrasées en priorité, ce qui fait que cette mémoire n'est pas vraiment occupée, elle est juste réservée dans le cas où tu voudrais de nouveau accéder aux données déjà chargées une fois.
[^] # Re: Reduire la ram utilisée
Posté par Obsidian . En réponse au journal Reduire la ram utilisée. Évalué à 3.
# Re: La punition suprême !
Posté par Obsidian . En réponse au journal La punition suprême !. Évalué à 3.
http://www.filterpaper.net/weblog/pics/bsod.jpg(...)
Comme çà, vous serez tous les deux heureux ! :-)
[^] # Re: Installe d'un Modem ADSL
Posté par Obsidian . En réponse au journal Installe d'un Modem ADSL. Évalué à 1.
Sisi, je confirme.
ChezMoiCaMarche ™
# Re: Ce que vous avez fait de pire dans un fps
Posté par Obsidian . En réponse au journal Ce que vous avez fait de pire dans un fps. Évalué à 1.
Les tripbombs à la sortie d'un téléporteur !
Ca, c'est la classe ! :-)