150

Uther >
[troll] Ben c'est pas parceque . et :: ont une signification différente que le fait d'avoir créé :: est logique. [/troll]
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.

151

et «logique» pour toi ça veut dire quoi (on doit pas tous avoir la même def...)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

152

Snow Tiger> l'opérateur . agit sur une variable alors que l'opérateur :: agit sur des types... Alors si c pas logique...
Imaginons ça, par exemple:
namespace bidule;

class a {
  public: a() {return;};
  ~a() {return;};
}
class bidule {
  public: bidule() {return;};
  ~bidule() {return;};
  int a;
}

Avec ton truc, si tu fais bidule.a, comment on sait de quoi tu parles ? Avec l'opérateur :: , on sait que bidule::a est forcément la classe a.
EDIT: Corrigé la balise pre
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

153

Ben, si :: te dérange tellement, personne ne t'empêche de définir:
#define BINARY_SCOPE_RESOLUTION_OPERATOR ::
et de noter voiture BINARY_SCOPE_RESOLUTION_OPERATOR Moteur. grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

154

GoldenCrystal> non, ton exemple ne marche pas même avec :: tongue

Par contre, si tu fais :
#include <algorithm>
#include <vector>
vector std;

alors std.swap et std::swap ne seront pas pareil...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

155

Ah c'est ça que veut dire le :: ? bon mon troll est d'autant plus bidon alors triso
bah en caml la solution est que les noms de modules commencent par des majuscules et les noms de structures par des minuscules, ça marche bien aussi smile
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

156

eeek

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

157

Un problème Pollux ? smile
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

158

C pas assez fin, je trouve que la signification d'un identificateur devrait être liée à la classe d'équivalence modulo 42 de la somme des codes ASCII de ses lettres tongue

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

159

Malgré plusieurs tentatives... ma déclarations de ma structure ne fonctionne pas et je comprend pas:
http://perso.wanadoo.fr/tisofts/divers/ComDOS.zip

Je viens d'essayer en ne mettant que struct _TPE_FILE TPE_FILE; dans main ça compile pourquoi dans ce cas?

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

160

Tu n'as pas compris ce que j'avais dit on dirait:
GoldenCrystal :
ben tu sais, tu as le droit d'utiliser extern en C++ aussi...
Tu mets ça dans le header
struct __TPE_FILE {
  unsigned char header[4];       //Octets descripteur
  unsigned char compress;        //Type de compression 0=RLE 1=TPE...
  unsigned char extension_size;  //Taille de l'extension
};
extern __TPE_FILE TPE_FILE; // au passage, c'est gore de donner des noms en majuscules à des variables...

Et, par exemple, dans un fichier globals.cpp
#include "header.h"
__TPE_FILE TPE_FILE;
// autres déclarations globales
Ton code:
//Headers des différents formats et variables données en paramètres
//TPE HEADER
extern struct _TPE_FILE {
  unsigned char header[4];       //Octets descripteur
  unsigned char compress;        //Type de compression 0=RLE 1=TPE...
  unsigned char extension_size;  //Taille de l'extension
  unsigned long size;            //Taille du fichier non compressé
} TPE_FILE;

[b]struct _TPE_FILE TPE_FILE;[/b]

^^ Si tu déclares la variable dans le header, ça ne changera rien au problème
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

161

Hum ok et que dans un fichier cpp, ça alloue la mémoire necessaire pour ma structure c'est ça?

Encore une question stupide. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

162

Au fait, c'est Mal d'utiliser des noms commençant par __ ou _ puis majuscule dans un header non-système... Par contre, c'est possible de terminer par des underscores smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

163

./161>trifus As-tu jamais programmé en C ? Parce que je me pose des questions qd même...
Y'a que les pointeurs pour lesquels il faut allouer la mémoire. "AAA aaa;" <- Comment tu ferais pour allouer de la mémoire pour cette variable sinon ? triso
EDIT: Pollux>Ah ? Je savais pas neutral
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

164

Ok je changerais cette habitude.
Mais quelqu'un à regardé la source en entier, je code vraiment mal?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

165

162> Je parlais du compilo pas de moi. roll
Plus précisément dans la section bss.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

166

Ba réfléchis...
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

167

Hum ok ok.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

168

Pollux> Pourquoi ?
Nous notre prof de C++ nous demande de faire précéder d'un '_' nos membres privés dans une classe. Faut pas ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

169

Si, c'est possible si tu le fais suivre d'une minuscule (ou d'un chiffre). Sinon, "faut pas".

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

170

Pourquoi ? cheeky
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

171

[lib.global.names] 17.3.3.1.2 Global names
1 Certain sets of names and function signatures are always reserved to the implementation:
— Each name that begins with an underscore and either an uppercase letter or another underscore (2.11) is
reserved to the implementation for any use.
— Each name that begins with an underscore is reserved to the implementation for use as a name with file scope or within the namespace std in the ordinary name space.


(il y a aussi une contrainte sur les noms qui contiennent un "__" n'importe où dans le nom)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

172

Parce que le standard C dit que ces identifiants sont réservés pour l'implémentation.
D'ailleurs, le standard C++ est encore plus strict à ce sujet, et il faudrait vérifier s'il ne dit pas qu'on n'a pas du tout le droit d'utiliser les underscores en début de nom de variable (même devant une minuscule ou un chiffre).
Et enfin, le standard C réserve tous les identifiants avec underscore pour des identifiants à niveau (scope) du fichier entier ou global (et ceux avec underscore+majuscule ou 2 underscores pour n'importe quel usage, y compris des mots-clés non-standard). Bref, il vaut vraiment mieux ne pas en utiliser.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

173

Pollux
:
[lib.global.names] 17.3.3.1.2 Global names
1 Certain sets of names and function signatures are always reserved to the implementation:
— Each name that begins with an underscore and either an uppercase letter or another underscore (2.11) is
reserved to the implementation for any use.
— Each name that begins with an underscore is reserved to the implementation for use as a name with file scope or within the namespace std in the ordinary name space.

OK, donc c'est comme dans le standard C (avec en plus la réservation de underscore+minuscule/chiffre pour le namespace std qui n'existe pas en C).
(il y a aussi une contrainte sur les noms qui contiennent un "__" n'importe où dans le nom)

Oui, c'est surtout à ça que je pensais en disant que le standard C++ est "plus strict".
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

174

Merci !
C'est quoi ta source, Pollux ? Je veux le même. Il y a à peu près la même chose pour le C, effectivement :
— All identifiers that begin with an underscore and either an uppercase letter or another
underscore are always reserved for any use.
— All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary and tag name spaces.
Mais je ne comprends pas trop la deuxième ligne confus Ça veut dire quoi "with file scope" ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

175

En principe, c'est avec la même portée qu'une variable déclarée statique. En l'occurrence, je ne sais pas si apporte quoi que ce soit (en tout cas ce ne sont pas des #define du préprocesseur).

Par contre, j'avais pas remarqué le "tag name spaces". Je ne sais pas trop ce qu'ils entendent par là, ça veut peut-être dire qu'on ne peut même pas l'utiliser pour un membre...

Sinon :
[google]c++ "draft standard" body[/google]

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

176

Le "tag name space" est un concept qui n'existe qu'en C et pas en C++. Ça veut dire que "struct _toto" est réservé, par exemple. En C++, c'est le même namespace que le namespace "file scope".
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

177

Mouais, ils ne le définissent pas dans le standard. En tout cas je ne vois pas ce que ça vient faire là, c'est peut-être une coquille confus (ce n'est qu'un draft, pas un standard définitif).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

178

C'est défini au 6.2.3. [#1] deuxième entrée de l'énumération.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

179

Je ne vois pas de 6.2.3 confus Tu peux donner le titre?


En tout cas c'est bien une coquille, le standard final dit à la place de ça :
[lib.global.names] 17.4.3.1.2 Global names
1 Certain sets of names and function signatures are always reserved to the implementation:
— Each name that contains a double underscore (_ _) or begins with an underscore followed by an uppercase
letter (2.11) is reserved to the implementation for any use.
— Each name that begins with an underscore is reserved to the implementation for use as a name in the
global namespace.165)
165) Such names are also reserved in namespace ::std (17.4.3.1).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

180

Pollux :
Je ne vois pas de 6.2.3 confus Tu peux donner le titre?

On parle du standard C là! "6.2.3 Name spaces of identifiers". La citation de Sasume était aussi prise sur le standard C.

Comme déjà dit, le "tag namespace" n'existe pas en C++ et n'est pas mentionné dans le standard C++.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité