C++ šabloni (templejti) omogućavaju pisanje generičkih funkcija i klasa i njihova osnovna namena je korišćenje istog koda sa različitim tipovima podataka. STL, skup generičkih algoritama, kolekcija i iteratora je obično prvi susret sa templejtima. U isto vreme, to je i prvi susret sa vrlo opskurnom dijagnostikom kompajlera.
Templejti rade po duck typing principu. Ukoliko objekat određenog tipa podržava sve operacije koje su nad njim korišćene unutar generičke funkcije, kompilacija će biti uspešna. Samim tim, skup tipova koje generička funkcija podržava zavisi od njene implementacije. To nekada nije željeno ponašanje.
Kako na deklarativan način ograničiti skup podržanih tipova? Počećemo sa neograničenim generičkim funkcijama, a zatim će Goran demonstrirati različite tehnike za ograničavanje skupa podržanih tipova. Konačno, jedna od tih tehnika su i C++20 koncepti koji mogu drastično da unaprede dizajn API-ja i tumačenje grešaka.
Važno obaveštenje: Nova lokacija je ICT Hub, Kralja Milana 10
Pristup putem telefona: +381114250145 (PIN: 602 714 419 5866#) Lista telefonskih brojeva: https://cpplang.com/meet-numbers
Link ka Slack workspace-u C++ user grupe možete naći ovde.
Sa velikim zadovoljstvom vas obaveštavam da je ovaj događaj sponzorisala kompanija InterVenture. Hvala vam na podršci!
🕕 Date & Time | 24. avgust (sreda), u 18h |
📍 Location | ICT Hub |
🏢 Address | Kralja Milana 10 |
💻 Online | https://cpplang.com/meet |
Vidimo se!