-
Data: 2011-04-15 16:17:57
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Jędrzej Dudkiewicz <j...@n...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 04/15/2011 06:05 PM, p...@p...onet.pl wrote:
>> On 04/15/2011 03:00 PM, fir wrote:
>
>>> nigdy sie nad tym nie zastanawialem ale nasuwa mi sie pytanie
>>> czy przypadkiem nie lepiej by bylo gdyby tych uchwytow nie bylo
>>>
>>> to jest oddzielna kwestia ale np co do plikow to mozna powiedziec
>>> ze nazwa pliku identyfikuje plik tak ze powstaje pytanie czy zamiast
>>> uzywac tych uchwytow
>>>
>>> h = openFile("yoman.txt");
>>> printToFile(h, "jedna rzecz dzis ustalmy");
>>> closeFile(h);
>>>
>>> nie lepiej byloby uzywac nazw
>>>
>>> openFile("yoman.txt");
>>> printToFile("yoman.txt", "jedna rzecz dzis ustalmy");
>>> closeFile("yoman.txt");
>>
>> W tym momencie uchwytem jest nazwa pliku. Jedyne, co "zyskałeś", to
>> strata na szybkości, bo tę nazwę trzeba rozwiązywać na obiekt w systemie.
>>
>> JD
>
> absolutnie nie, nazwa zastepuje uchwyt ale uchwytu nie ma,
> - plik i tak ma nazwe, i w podejsciu z uchwytami jest i nazwa
> i uchwyt - nowy byt ktory ma typ wartosc i rzadzace nim prawa
Absolutnie tak, plik ma nazwę, która jest niczym innym jak czytelną dla
człowieka nazwą. Uchwyt do zasobu jest po prostu rozwiązaną nazwą. Zwróć
uwagę, że te Twoje metody należałoby zaimplementować w C mniej więcej tak:
void openFile(char* name)
{
FILE *f = fopen(name, "w"); // załóżmy, że taki tryb
storeInGlobalTable(name, f); // zapisz nazwę zamapowaną na FILE
}
void printToFile(char* name, char* msg)
{
fprintf(getFromGlobalTable(name), "%s", msg);
}
void closeFile(char* name)
{
fclose(getFromGlobalTable(name));
storeInGlobalTable(name, NULL);
}
Cały czas "f", będące niczym innym jak uchwytem, jest potrzebne - tyle,
że zostało zakopane niżej.
JD
PS. Jest jeszcze alternatywna implementacja:
void openFile(char* name) { }
void closeFile(char* name) { }
void printToFile(char* name, char* msg)
{
FILE* f = fopen(name, "w");
fprintf(f, "%s", msg);
fclose(f);
}
Następne wpisy z tego wątku
- 15.04.11 16:20 Jędrzej Dudkiewicz
- 15.04.11 16:22 Andrzej Jarzabek
- 15.04.11 16:34 Jędrzej Dudkiewicz
- 15.04.11 16:50 gregorius
- 15.04.11 16:51 p...@p...onet.pl
- 15.04.11 16:59 Zbigniew Malec
- 15.04.11 17:05 p...@p...onet.pl
- 15.04.11 17:23 Zbigniew Malec
- 15.04.11 17:37 Zbigniew Malec
- 15.04.11 17:52
- 15.04.11 18:35 p...@p...onet.pl
- 15.04.11 19:12 gregorius
- 15.04.11 19:23 gregorius
- 15.04.11 19:25
- 15.04.11 19:50 Waldek M.
Najnowsze wątki z tej grupy
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
Najnowsze wątki
- 2025-04-09 [przegląd prasy] - raport mniejszosci
- 2025-04-09 [przegląd prasy] - wypadek autobusu w Warszwie - wyrok (prawomocny)
- 2025-04-09 [przegląd prasy] - przejścia na drogach rowerowych
- 2025-04-09 Czy blokowanie sali obrad Sejmu przez PO-opozycje pod rządami PiS już się przedawniło? [mecenas Giertych dołki kopie?]
- 2025-04-09 Koniec produkcji Leapmotor T03
- 2025-04-09 Pruszków => Specjalista ds. public relations <=
- 2025-04-09 Rzeszów => International Freight Forwarder <=
- 2025-04-09 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-04-09 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-04-09 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-04-09 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-04-09 Warszawa => Senior Product Manager <=
- 2025-04-09 Warszawa => Starszy Konsultant SAP FICO <=
- 2025-04-09 Warszawa => NMS System Administrator <=
- 2025-04-07 C++. Podróż Po Języku - komentarz