Bonjour,
Je cherche a initialiser un simple tableau de données non copiables et sans constructeur par défaut. Exemple :
Le compilateur (g++) me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 struct test { test(int i) {} test(const test&) = delete; }; int main() { test tbl[4] {1, 2, 3, 4}; return 0; }
Il semble donc créer une instance de test pour chaque élément de la liste d'initialisation, puis tente de les copier dans le tableau.Envoyé par g++
Connaissez-vous un moyen d'éviter cette copie inutile ? Mes recherches sur la toile ont été infructueuses...
NB :
- Je peux utiliser le C++11.
- Je pourrais bien sûr passer par un tableau de pointeurs (nus ou intelligents), mais je trouve ça dommage pour une raison aussi bête...
Partager