Вопросы с тегом «c++»

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.


26
Легко измерить прошедшее время
Я пытаюсь использовать время () для измерения различных точек моей программы. Что я не понимаю, так это то, почему значения в до и после одинаковы? Я понимаю, что это не лучший способ для профилирования моей программы, я просто хочу посмотреть, как долго что-то займет. printf("**MyProgram::before time= %ld\n", time(NULL)); doSomthing(); doSomthingLong(); …
297 c++  c  linux  time  measurement 

14
Лучший способ извлечь субвектор из вектора?
Предположим, у меня есть std::vector(назовем это myVec) размер N. Какой самый простой способ построить новый вектор, состоящий из копии элементов от X до Y, где 0 <= X <= Y <= N-1? Например, myVec [100000]через myVec [100999]вектор размера 150000. Если это не может быть эффективно сделано с вектором, есть ли …
295 c++  stl  vector  range 

5
Начать тему с функции-члена
Я пытаюсь создать std::threadс помощью функции-члена, которая не принимает аргументов и возвращает void. Я не могу понять, какой синтаксис работает - компилятор жалуется, несмотря ни на что. Как правильно реализовать, spawn()чтобы он возвращал std::threadвыполняемое test()? #include <thread> class blub { void test() { } public: std::thread spawn() { return { …


9
Как я могу просмотреть карту карт C ++?
Как я могу пройти через std::mapC ++? Моя карта определяется как: std::map< std::string, std::map<std::string, std::string> > Например, вышеприведенный контейнер содержит данные, подобные этим: m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["name2"]["value1"] = "data1"; m["name2"]["value2"] = "data2"; m["name3"]["value1"] = "data1"; m["name3"]["value2"] = "data2"; Как я могу пройти по этой карте и получить …

15
Являются ли == и! = Взаимозависимыми?
Я учусь о перегрузках операторов в C ++, и я вижу , что ==и !=просто некоторые специальные функции , которые могут быть настроены для определенного пользователя типов. Однако меня беспокоит, почему нужны два отдельных определения? Я думал, что если a == bэто правда, то a != bавтоматически ложно, и наоборот, …

11
Логический оператор XOR в C ++?
Что-то подобное существует? Это первый раз, когда я столкнулся с практической потребностью в этом, но я не вижу в списке Страуструпа . Я намерен написать: // Detect when exactly one of A,B is equal to five. return (A==5) ^^ (B==5); Но нет ^^оператора. Могу ли я использовать побитовое ^здесь и …

24
Синглтон: как его использовать
Изменить: Из другого вопроса я предоставил ответ, который содержит ссылки на множество вопросов / ответов о синглетонах: Подробнее о синглетонах здесь: Итак, я прочитал ветку Singletons: хороший дизайн или костыль? И аргумент все еще неистовствует. Я вижу Singletons как шаблон дизайна (хороший и плохой). Проблема синглтона не в шаблоне, а …

7
Пространство имен + функции против статических методов в классе
Допустим, у меня есть или я собираюсь написать набор связанных функций. Допустим, они связаны с математикой. Организационно, я должен: Напишите эти функции и поместите их в мое MyMathпространство имен и обратитесь к ним черезMyMath::XYZ() Создайте класс с именем MyMathи сделайте эти методы статичными и обращайтесь к аналогичнымMyMath::XYZ() Почему я выбрал …

19
Обнаружение лишних #include в C / C ++?
Я часто нахожу, что раздел заголовков файла постоянно увеличивается и увеличивается, но он никогда не уменьшается. В течение жизни исходного файла классы могли перемещаться и подвергаться рефакторингу, и вполне возможно, что есть немало тех, #includesкоторые не должны быть там и больше. Оставив их там, можно только продлить время компиляции и …

19
Действительно ли умножение и деление с использованием операторов сдвига в C быстрее?
Умножение и деление может быть достигнуто с помощью битовых операторов, например i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) и так далее. Действительно ли быстрее использовать скажем (i<<3)+(i<<1)умножить на 10, чем i*10напрямую? Есть ли какие-либо входные данные, которые не могут быть умножены или разделены таким …

10
C / C ++ включает порядок заголовочных файлов
В каком порядке должны быть указаны включаемые файлы, т.е. каковы причины включения одного заголовка перед другим? Например, системные файлы STL и Boost идут до или после локальных включаемых файлов?
288 c++  c 


20
Написать приложения на C или C ++ для Android? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
286 c++  c  android 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.