Le langage Rust prend-il en charge des valeurs constantes dans un code générique similaire à C++ way? Il semble que la langue overview ne le signale pas. Paramétrer des types avec des constantes en C++ permet de créer des objets avec des tampons pré-alloués de taille différente en fonction des besoins du client (des types comme stlsoft :: auto_buffer).
Si non, alors quelles sont les meilleures pratiques pour mettre en œuvre des conceptions similaires dans Rust?Valeurs constantes dans les génériques Rust
7
A
Répondre
8
Non, cela n'est pas pris en charge de manière sécurisée. Nous aurions besoin de littéraux numériques de type type, comme GHC récemment ajouté, pour cela.
Toutefois, vous pouvez utiliser des macros Rust. Avec une macro, vous pouvez créer des «templates» qui sont paramétrés sur des expressions arbitraires, y compris des constantes, ce qui vous permettrait de faire ce que vous voulez ici. Notez que vous pouvez trouver des bogues et des limitations dans le système de macros si vous essayez ceci pour le moment.
Questions connexes
- 1. énumérations avec des valeurs constantes à Rust
- 2. Rust: trait PartialEq dans les génériques
- 3. Où sont les constantes errno Unix dans Rust?
- 4. Rust adaptateur personnalisé et génériques
- 5. Constantes dans les arguments de type dans les génériques
- 6. Convertir les simples C# define en constantes Rust
- 7. Valeurs constantes dans Fortran
- 8. Valeurs constantes dans Python
- 9. valeurs constantes dans Rails
- 10. Valeurs constantes dans les fichiers .vtu
- 11. incohérence possible dans les valeurs constantes?
- 12. Traits PHP - définition de constantes génériques
- 13. Fonctions génériques dans Rust avec types limités et connus?
- 14. Haskell: valeurs liées dans les fonctions génériques
- 15. Créer des valeurs constantes
- 16. Comment convertir les valeurs hexadécimales en Base64 dans Rust
- 17. Les valeurs sont-elles toujours constantes?
- 18. Accès aux valeurs enum dans Rust
- 19. Android lire les valeurs de constantes xml
- 20. Sélection des valeurs pour les constantes
- 21. messages DWM valeurs constantes
- 22. Ruby: valeurs des constantes
- 23. Comment initialiser les constantes de niveau supérieur avec d'autres constantes?
- 24. types génériques dans les génériques
- 25. Indices de valeurs consécutives constantes dans une matrice, et nombre de valeurs constantes
- 26. Constantes, valeurs et décorateurs dans angularjs
- 27. Où stocker des valeurs constantes dans swift?
- 28. Différentes valeurs constantes pour junit
- 29. Comment insérer des valeurs constantes dans SQL
- 30. J'ai de la difficulté à comprendre les traits et les génériques à Rust.
Macros ressemble à des étrangers par rapport au langage de base. Y a-t-il une place pour que les expressions de compilation soient les paramètres ordinaires de la fonction dans le futur de Rust? – tivadj
Je souhaite paramétrer un type sur une fonction. Pour ce faire, avec des macros, il faudrait respecter la fonction sur la plupart des sites d'appel. Alternativement, je peux "stocker" la fonction comme une "valeur" dans de nombreux endroits différents dans la structure pour le rendre accessible. Donc la paramétrisation sur les valeurs serait vraiment sympa! – dhardy
La solution à mon problème n'est pas de paramétrer une fonction mais de le faire sur un type (probablement une structure vide) implémentant un certain trait. En théorie au moins; Moi ou le compilateur a des problèmes avec la complexité de celui-ci. – dhardy