Czy język Rust obsługuje stałe wartości w kodzie generycznym podobne do C++? Wydaje się, że język overview nie anonsuje go. Parametryzowanie typów ze stałymi w C++ pozwala na tworzenie obiektów z wcześniej przydzielonymi buforami o różnej wielkości w zależności od potrzeb klienta (typy takie jak stlsoft :: auto_buffer).
Jeśli nie, jakie są najlepsze praktyki wdrażania podobnych projektów w firmie Rust?Stałe wartości w rdzeniach generycznych
7
A
Odpowiedz
8
Nie, nie jest to obsługiwane w bezpieczny sposób. Potrzebowalibyśmy do tego literałów numerycznych na poziomie typu, takich jak ostatnio dodane GHC.
Można jednak użyć makr Rust. Za pomocą makra możesz tworzyć "szablony", które są sparametryzowane przez dowolne wyrażenia, w tym stałe, co pozwoli ci robić to, co chcesz tutaj. Zauważ, że możesz znaleźć błędy i ograniczenia w systemie makr, jeśli spróbujesz tego w tej chwili.
Powiązane problemy
- 1. Casting generycznych i generycznych typ
- 2. Dość specjalny klucz PublicKey w rdzeniach .NET
- 3. Lista wartości: Stałe kodowe lub baza danych?
- 4. Jak definiować wartości stałe - najlepsza praktyka
- 5. Dlaczego wartości Enums zostały skompilowane jako stałe zamiast wartości statycznych?
- 6. Dynamiczne stałe w PHP?
- 7. JSON kolekcji generycznych deserializacjia
- 8. zbiór różnych typów generycznych
- 9. Nie można zmienić wartości członków struct jest wewnątrz kolekcji generycznych
- 10. Wiele instancji node.js na różnych rdzeniach
- 11. Zagnieżdżony rozciąga się w generycznych
- 12. Wstrzyknięcie generycznych usług w Angular
- 13. Jak zwrócić liczbę używając generycznych w Javie?
- 14. Stałe w doktrynie 2 podmiotów
- 15. Dodaj do ograniczenia parametrów generycznych w rozszerzeniu
- 16. Globalne stałe w PHPUnit
- 17. Stałe w XAML
- 18. Stosowanie stałe w listowego
- 19. Maszynopis: stałe w interfejsie
- 20. Globalne stałe w Groovy
- 21. Korzyści z generycznych konstruktorów
- 22. instancji generycznych za
- 23. Jak zapewnić, że std :: thread są tworzone w wielu rdzeniach?
- 24. Stwórz listę leków generycznych
- 25. Ogólna lista składników generycznych
- 26. Konwersja teksty stałe do tablicy wartości (wprowadzenie wszystkie wartości w tablicy JSON)
- 27. Zedgraph - Ustaw wartości Min/Max na osi na stałe
- 28. Stałe klasy
- 29. Błąd lub ograniczenie wartości maksymalnej Delphi. stałe liczby całkowite?
- 30. Domyślny zestaw danych dla aplikacji iPhone opartej na rdzeniach danych
Makra wyglądają jak obcy w porównaniu z podstawowym językiem. Czy jest jeszcze miejsce na wyrażenia w czasie kompilacji, które będą zwykłymi parametrami funkcji w przyrodzie Rusta? – tivadj
Chcę parametryzować typ nad funkcją. Wykonanie tego z makrami wymagałoby odpowiedniej funkcji w większości witryn wywołań. Alternatywnie mogę "przechowywać" funkcję jako "wartość" w wielu różnych miejscach struktury, aby była dostępna. Więc parametryzacja wartości będzie naprawdę dobra! – dhardy
Rozwiązaniem mojego problemu nie jest parametrize nad funkcją, ale nad typem (prawdopodobnie pustą strukturą) implementującą pewną cechę. Teoretycznie przynajmniej; I lub kompilator ma problemy ze złożonością. – dhardy