-
Data: 2011-10-07 16:16:50
Temat: Re: wyzwanie z szablonami ;]
Od: Edek <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 10/07/2011 05:32 PM, Andrzej Jarzabek wrote:
> On Oct 7, 2:19 pm, "Sarr."<s...@g...pl> wrote:
>> On 7-10-2011 6:46, Andrzej Jarzabek wrote:
>>
>>> On 06/10/2011 17:24, Sarr. wrote:
>>>> On 6-10-2011 17:52, Edek wrote:
>>
>>>> pytanie pozakonkursowe, oczywiscie b i Sth to uproszczenie dla potrzeb
>>>> zadania, zazwyczaj beda to dluzsze nazwy, i w takim wypadku na przyklad:
>>
>>>> myHappyRotator->TComponentInterface<ConstRotatorComp
onent>::GetValue();
>>
>>>> czy taki zapis mozna uznac za elegancki?
>>
>>> Elegancko będzie owinąć to w klasie pochodnej w funkcję, której nazwa
>>> mówi co to jest to, co ona zwraca w kontekście tej klasy.
>>
>> racja. o to chodzilo.
>
> Dodatkowo co jeszcze można zrobić dla poprawienia czytelności kodu to
> nadać klasom bazowym nazwy w klasie pochodnej przy pomocy typedef,
> np.:
> class HappyRotator: public TComponentInterface<ConstRotatorComponent>
> {
> typedef TComponentInterface<ConstRotatorComponent> ConstRotator;
> public:
> RotVal GetConstRotation() {
> return ConstRotator::GetValue();
> }
>
> (oczywiście nazwy funkcji i klasy wziąłem z sufitu, w rzeczywistości
> powinny odzwierciedlać semantykę danych konstrukcji)
Albo:
template <class Comp>
class ValueGetter
{
TComponentInterface<Comp> const * tci;
public:
ValueGetter(TComponentInterface<Comp> const * _tci) : tci(_tci) {};
operator int () { return tci->GetValue(); };
}
Użycie:
int val = ValueGetter<MyRod> (myHappyRotator);
Sprawdziłbym też tuple->get<1>(). Kiedyś zajrzę i sprawdzę o co chodzi,
jak to jest rozwiązane i dlaczego niektóre kompilatory nie pozwalają
na rozwiązanie z member template i trzeba robić get<1>(tuple);
Edek
Najnowsze wątki z tej grupy
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
Najnowsze wątki
- 2026-01-11 Auta spalinowe tylko dla zarządu. Tak UE ratuje spalinową motoryzację
- 2026-01-11 Dziki trener ZIELONY ŁAD W KRAKOWIE: WIELKI PRZEKRĘT CZY RATUNEK?
- 2026-01-11 [prezydent - przyp. JMJ] Nawrocki zawetował wprowadzenie w Polsce unijnej cenzury
- 2026-01-11 ciekawostka prawno-obyczajowa
- 2026-01-10 Przeprosiny
- 2026-01-10 Kominiarze
- 2026-01-10 Zagadka radiowa
- 2026-01-10 Prostownik
- 2026-01-09 EKOFASZYŚCI DO NAUKI Chiny odpaliły reaktor na tor. Zachód przespał ten moment? - AstroSzort
- 2026-01-09 Sebastian M
- 2026-01-09 weto nowelizacji ustawy o ś.u.d.e. (wz. DSA)
- 2026-01-09 Warszawa => Dynamics 365 Commerce/POS Developer <=
- 2026-01-09 Ładowanie w 13 minut
- 2026-01-08 Umiejętność tankowania na egzaminie z prawa jazdy
- 2026-01-08 Nowy akumulator Donut Lab




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]