Чи варто використовувати CString у C++?Чи варто використовувати CString у C++?

0 Comment

Чи варто використовувати <cstring> чи <string. h> файл заголовка? Якщо ми хочемо, щоб наша програма запускалася на мовах програмування C і C++, тоді ми повинні включити <string. h>, оскільки файл заголовка <cstring> є лише частиною мови C++, а не мови C.17 березня 2023 р

CString відстежує довжину рядка для швидшої роботи, але він також зберігає символ NULL у збережених символьних даних для підтримки перетворення в LPCWSTR . CString містить нульовий термінатор, коли він експортує рядок у стилі C.

Це добре працює в C, але писати в цій формі є поганою ідеєю в C++. Ось чому компілятор показує попередження про «застаріле перетворення з рядкової константи на 'char*'», тому що в C рядкові літерали є масивами char, але в C++ вони є постійним масивом char. тому використовувати ключове слово const перед char*.

Можливо, вам знадобиться використовувати char[], якщо ви працюєте з інтерфейсами в стилі C або матеріалами взаємодії. char [] походить від C. Це масив char. std::string — це тип класу C++, який надає багато переваг перед char[], і його слід використовувати, якщо не потрібен тип char[], наприклад, для параметра функції C тощо.

Рядок файлу. h використовується в програмах на C, щоб отримати доступ до різноманітних функцій для роботи з цими масивами символів. Файл cstring використовується в програмах на C++ для отримання доступу до цих самих функцій (дотримуючись звичайної конвенції стандартних імен заголовків stdheaders C++).

Розробка зазвичай відбувається швидше в C#. Якщо програма не виконує критичні за часом завдання, має сенс вибрати простішу та менш схильну до помилок мову. Традиційно C++ був правильним вибором для середовища, відмінного від Windows, але це змінилося, коли Microsoft почала заохочувати впровадження відкритого коду . NET.