9
votes

Qu'est-ce qui va arriver à des espaces de noms TR1 quand C ++ XX est approuvé?

J'écris des trucs à l'aide de l'espace de noms TR1 dans VS2008. Que se passera-t-il lorsque C ++ XX deviendra ratifié? Cela s'est-il passé avant avec d'autres révisions C ++? Le Tr1 va-t-il toujours travailler ou devrai-je changer tout mon inclus? Je me rends compte que je fais une très grande hypothèse que cette ratification se produira un jour. Je sais que probablement aucun de vous ne travaille pour la SP ou contribuer à GCC, mais si vous avez une expérience de ce type de changements, j'apprécierais les conseils.


3 commentaires

"Autres révisions C ++" ne sont pas vraiment comparables. C ++ 03 était essentiellement juste un tas de corrections à C ++ 98. C ++ 0x est la première chose qui mérite d'avoir appelé une nouvelle norme, comme C99, il y aura une division significative entre «implémentations qui soutenant la nouvelle norme» et des implémentations qui ne soutiennent que l'ancienne norme » . Je n'ai pas utilisé C ++ en 2003, mais je suppose que la division était donc plus comme "les compilateurs toujours sous tout type de développement intégré à la corrigende comme ils ont été soulevés, et des compilateurs abandonnés n'ont jamais été très proches de la norme de toute façon".


Eh bien, j'ai utilisé C ++ en 2003 et en 1985 (ou au moins essayé de - j'ai essayé de mener une libération E de C ++ sur le Boxen Unix, j'étais en charge et a échoué). Et tout le long, la chose sensible pour les applications commerciales a été - n'utilisez pas les nouvelles choses.


@Neil - c'est plus d'un outil interne, mais d'excellents conseils généraux


3 Réponses :


2
votes

TR1 ne fait partie d'aucune norme (le papier dont il est sténographique n'a jamais été accepté) - c'est juste une convention que certains compilateurs fournissent. Ils vont presque certainement continuer à lui donner longtemps dans l'avenir.


0 commentaires

5
votes

L'entrée Wikipedia pour C ++ 0x dit "une grande partie des nouvelles bibliothèques sont définies dans le rapport de la bibliothèque de la bibliothèque de la Bibliothèque de la Bibliothèque de la Commission de normes C ++ (appelée TR1), qui a été publiée en 2005. Diverses implémentations complètes et partielles de TR1 sont actuellement disponibles à l'aide de l'espace de noms Std :: TR1. pour C + + 0x Ils seront déplacés vers des espaces de noms Std. Cependant, comme les fonctionnalités TR1 sont apportées dans la bibliothèque standard C ++ 0x, elles sont améliorées, le cas échéant avec des fonctionnalités de langue C ++ 0x non disponibles dans le TR1 initial. Version. De plus, ils peuvent être améliorés avec des fonctionnalités possibles sous C ++ 03, mais ne faisaient pas partie de la spécification TR1 d'origine. "


5 commentaires

Et maintenant, les gens deviennent des upposts pour fournir des réponses qui sont des citations verbatim de Wikipedia - Way to Go!


Non seulement c'est Verbatim de Wikipedia, mais ce n'est pas utile. Encore mieux! Si vous utilisez STD :: TR1 Maintenant, cela fonctionnera depuis très longtemps. La valeur de "TRES" va varier en fonction de votre compilateur, mais suffisamment longtemps pour que vous puissiez passer à votre source et changez boost :: ou TR1 :: à std ::


@Neil: Y a-t-il une méthode plus préférée lorsqu'un indice de verbatim de la bande présume pour répondre à la question?


@Shmoopty Oui, fournissez un résumé d'une phrase, comme "Wikipedia, une police bien connue de C ++ Connaissances, dit", puis le lien. De cette façon, si Wikipedia est mis à jour, alors. C'est pourquoi cette chose s'appelle un "Web".


Il y a un lien. La section audacieuse ajoute au commentaire précédent de cette page et j'ai posté ceci parce que c'était une nouvelle pour moi, et je pensais que cela pourrait être mal, ou une nouvelle à quelqu'un d'autre. Et comme C ++ 0X n'est pas finalisé (comme je le comprends), cela pourrait même pas arriver. J'y pensais à l'origine de poster un lien et de suggérer que le questionneur effectue des recherches sur Internet appropriées dans les normes et les documents connexes, mais vous savez, cela semblait trop condescendant. En ce qui concerne le vote - je serais heureux de le donner à quiconque le veut.



10
votes

std :: tr1 deviendra partie de std in C ++ 1x (STD :: TR1 :: Shared_PTR devient STD :: Shared_ptr, etc.). STD :: TR1 continuera d'exister tant que ce compilateur revendique la mise en œuvre de TR1. À un moment donné, votre compilateur peut chuter cette réclamation et déposer STD :: TR1 en conséquence. Cela n'arrivera probablement jamais.

std :: tr1 a déjà été "copié" dans l'espace de noms de noms de noms dans Visual Studio 2010 Beta (via une directive à l'aide de la directive)


0 commentaires