Запитання з тегом «c++»

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.


2
Підготовка до std :: iterator Не підтримується
З 21 березня ст на стандартах комітет проголосував затвердити Deprecation з std::iteratorзапропонованих в P0174 : Довга послідовність недійсних аргументів набагато менш зрозуміла для читача, ніж просто надання очікуваних typedefs у самому визначенні класу, що є підходом поточного робочого проекту, дотримуючись шаблону, встановленого вc ++ 14 Раніше c ++ 17спадщину від …

5
Як відсортувати вектор STL?
Я хотів би відсортувати vector vector<myClass> object; Де myclassмістить багато intзмінних. Як я можу відсортувати своє vectorза будь-якою конкретною змінною даних myClass.
76 c++  sorting  stl 

4
Чому в C та C ++ існують граграфи?
Сьогодні я довідався, що в C99 та C ++ існують графіки. Нижче наведено дійсну програму: %:include <stdio.h> %:ifndef BUFSIZE %:define BUFSIZE 512 %:endif void copy(char d<::>, const char s<::>, int len) <% while (len-- >= 0) <% d<:len:> = s<:len:>; %> %> Моє запитання: чому вони існують?
76 c++  c  c99  digraphs 

11
Чи хороша практика робити геттерів та сетерів вбудованими?
public: inline int GetValue() const { return m_nValue; } inline void SetValue(int nNewValue) { this -> m_nValue = nNewValue; } На Learn C ++ вони сказали, що це буде працювати швидше. Отже, я подумав, що було б чудово використовувати на геттерах та сеттерах. Але, можливо, є деякі недоліки?

17
Visual Studio: LINK: фатальна помилка LNK1181: не вдається відкрити вхідний файл
Я вже деякий час стикаюся з дивною помилкою у Visual Studio 2010. У мене є рішення, яке складається з проекту, який компілюється у статичну бібліотеку, та іншого проекту, який насправді простий, але залежить від цієї бібліотеки. Іноді, в останні дні надзвичайно часто, після відновлення рішення або просто складання його з …

5
pinvokestackimbalance - як я можу це виправити або вимкнути?
Я щойно перейшов на vs2010 з vs2008. Точне рішення, за винятком того, що тепер кожен окремий дзвінок до бібліотеки C ++ дає виняток "pinvokestackimbalance". Цей виняток не звільняється у 2008 році. Я маю повний доступ до DLL C ++ та до програми, що викликає. Здається, проблем з обертанням немає, але …

5
Вектор ініціалізації структур
Я хочу знати, як я можу додати значення до мого вектора структур за допомогою push_backметоду struct subject { string name; int marks; int credits; }; vector<subject> sub; Тож як тепер я можу до нього додавати елементи? У мене є функція, яка ініціалізує ім'я рядка (ім'я теми до нього) void setName(string …
76 c++  vector  struct  push-back 

9
Яке значення та використання __stdcall?
Я багато що стикався __stdcallз цими днями. MSDN не дуже чітко пояснює, що це насправді означає, коли і навіщо його використовувати, якщо взагалі. Буду вдячний, якщо хтось надасть пояснення, бажано із прикладом чи двома.

10
UTF8 до / з широкого перетворення символів у STL
Чи можна перетворити рядок UTF8 у std :: string у std :: wstring і навпаки незалежно від платформи? У програмі Windows я б використовував MultiByteToWideChar та WideCharToMultiByte. Однак код складений для декількох ОС, і я обмежуюсь стандартною бібліотекою C ++.


5
shared_ptr та слабкі_ptr відмінності
Я читаю книгу Скотта Майерса "Ефективний C ++". Було згадано, що існують tr1::shared_ptrі tr1::weak_ptrдіють як вбудовані вказівники, але вони відстежують, скільки tr1::shared_ptrsвказує на об’єкт. Це називається підрахунком посилань. Це добре допомагає запобігти витоку ресурсів в ациклічних структурах даних, але якщо два або більше об'єктів містять tr1::shared_ptrsтаке, що формується цикл, цикл …

9
ефективний потокобезпечний синглтон в C ++
Звичайний шаблон для синглтон-класу - це щось на зразок static Foo &getInst() { static Foo *inst = NULL; if(inst == NULL) inst = new Foo(...); return *inst; } Однак я розумію, що це рішення не є безпечним для потоку, оскільки 1) конструктор Foo може бути викликаний більше одного разу (що …

8
Попередження про педантичне gcc: кваліфікатори типу для типу повернення функції
Коли я вперше скомпілював свій код C ++ із GCC 4.3 (після успішного його складання без попереджень 4.1, 4.0, 3.4 з -Wall -Wextraопціями), я раптом отримав купу помилок форми warning: type qualifiers ignored on function return type. Розглянемо temp.cpp: class Something { public: const int getConstThing() const { return _cMyInt; …

4
Ініціалізація змінних-членів з використанням того самого імені для аргументів конструктора, що і для змінних-членів, дозволених стандартом C ++?
Я з’ясував, що можна ініціалізувати змінні-члени аргументом конструктора з тим самим іменем, як показано в прикладі нижче. #include <cstdio> #include <vector> class Blah { std::vector<int> vec; public: Blah(std::vector<int> vec): vec(vec) {} void printVec() { for(unsigned int i=0; i<vec.size(); i++) printf("%i ", vec.at(i)); printf("\n"); } }; int main() { std::vector<int> myVector(3); …
76 c++ 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.