Bonjour,
est-il possible de pointer par référence sur un fichier situé sur le disque dur et NON pas dans la RAM ?; comment doit-on écrire la syntaxe dans le cas d'une certaine fonction ?
Version imprimable
Bonjour,
est-il possible de pointer par référence sur un fichier situé sur le disque dur et NON pas dans la RAM ?; comment doit-on écrire la syntaxe dans le cas d'une certaine fonction ?
Tous les objets en C++ se trouvent dans la mémoire.
La mémoire comprend la RAM et le swap.
Tu as un exemple de comment tu voudrait appeler la fonction qui ferait cela ? Cela a-t-il un rapport avec les fonction d'ouverture/lecture/ecriture/etc ?
Salut,
A moins que j'ai mal compris, tu peux tres bien passer un *fstream comme référence à une fonction qui utilisera ce fstream pour l'acces disque.
Tu peux tres bien créer des fonctions du genre de
Mais, l'un dans l'autre, il est souvent plus intéressant de redéfinir les opérateurs << et/ou >> ;)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 void Write(std::ofstream& ofs) { ofs<<"blabla"; } /* voir, mieux, parce que cela permet de mettre les fonctions en série */ std::ofstream& WriteSerie(std::ofstream& ofs) { ofs<<"blabla"; return ofs; } /* ou, si tu veux une fonction avec ifstream */ void Read(std::ifstream& ifs) { type mavar; ifs>> mavar; /* traitement de mavar */ } /* meme chose: permet de mettre les fonctions en série */ std::ifstream& ReadSerie(std::ifstream& ifs) { type mavar; ifs>> mavar; /* traitement de mavar */ return ifs; }