Amaliy fanlar universiteti
Download 98.18 Kb.
|
DASTURLASH
template <class T>
using Id_block = Pair // Теперь Id_block Kompleks shablon tuzilmalari uchun qisqarishlar kiritish imkoniyatlaridan tashqari, turdagi sinonimlar shablonlari sizga ishlov berish funktsiyalarini, balki hisoblash turlarini belgilashga imkon beradi. Qattiq gapirish, bu boshqa shablonlardan foydalanishni talab qiladi, ammo sinonim shablon turi qulay interfeysni taqdim etadi, ammo agar siz C ++ 14 darajadagi standart kutubxonadan), keyin siz Biz biron bir narsa yozadigan taassurotga ega bo'ling - bu shablonning parametrlari bo'lgan parametrlar va qiymat o'ng tomonda turgan turdagi turdir. #include #include using namespace std; // Выбор встроенного целочисленного типа, имеющего ширину, // не менее Bits бит, или void, если подходящего типа нет. template using Uint = conditional_t<(Bits <= 8), uint8_t, conditional_t<(Bits <= 16), uint16_t, conditional_t<(Bits <= 32), uint32_t, conditional_t<(Bits <= 64), uint64_t, void>>>>; // Проверка условия, выполняемая во время компиляции. static_assert(is_same Vektorli operatsiyalar Vektor ob'ektini yaratish Quyida ba'zi STD dizaynerlaridan foydalanishning misollari: Vektor butun sonlar vektorining misolidan foydalangan holda. vector assert(ve.empty()); vector // vn создаёт объекты со значением, возвращаемым конструктором без параметров, // для встроенных типов чисел это 0 assert(!vn.empty()); assert(vn.size() == 10); assert(vn[0] == 0); vector // в качестве второго параметра можно указать конкретное значение // создаваемых объектов assert(vi.size() == 10); assert(vi[0] == 42); int arr[] { 1, 2, 3, 4, 5 }; vector // va содержит 3 элемента: 2, 3, 4 assert(va.size() == 3); assert(va[0] == arr[1] && va[1] == arr[2] && va[2] == arr[3]); // Наконец, вектор можно создать из конкретного набора значений, // используя фигурные скобки вместо круглых (C++11). vector assert(vl.size() == 4); assert(vl.front() == 1 && vl.back() == 4); C ++ ning boshqa turlari singari, vektorlar vaqtincha qiymatlar sifatida yaratilishi mumkin, bu dizaynerni aniq keltirib chiqaradi. Masalan, ma'lum bir vektor tarkibining ushbu qiymatlar to'plamiga teng bo'lgan qiymatga teng bo'lishi mumkin: // Используем последний конструктор из примера выше. vector // Повторно используем тот же конструктор // для создания временного объекта с заданным содержимым. // Обратите внимание -- необходимо указывать тип элемента вектора (здесь int). assert(( vl == vector assert(( vl != vector Download 98.18 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling