Показаны сообщения с ярлыком CPP. Показать все сообщения
Показаны сообщения с ярлыком CPP. Показать все сообщения

Как создать новый пустой Visual C++ проект в Visual Studio 2013

Пуск → Visual Studio 2013 → Visual Studio 2013


Выберите пункт главного меню FILE → New → Project… (Ctrl+Shift+N)


Установка Code::Blocks на Ubuntu

Шаг 1. Открыть Терминал и выполнить команду:

$ sudo apt-get install codeblocks
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  codeblocks-common libcodeblocks0 libutempter0 xterm
Предлагаемые пакеты:
  libwxgtk3.0-dev codeblocks-contrib xfonts-cyrillic
НОВЫЕ пакеты, которые будут установлены:
  codeblocks codeblocks-common libcodeblocks0 libutempter0 xterm
Обновлено 0 пакетов, установлено 5 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 6 958 kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 22,5 MB.
Хотите продолжить? [Д/н] Д
Пол:1 http://kz.archive.ubuntu.com/ubuntu bionic/universe amd64 libcodeblocks0 amd64 16.01+dfsg-2.1 [1 943 kB]
Пол:2 http://kz.archive.ubuntu.com/ubuntu bionic/universe amd64 codeblocks-common all 16.01+dfsg-2.1 [2 490 kB]
Пол:3 http://kz.archive.ubuntu.com/ubuntu bionic/universe amd64 codeblocks amd64 16.01+dfsg-2.1 [1 856 kB]
Пол:4 http://kz.archive.ubuntu.com/ubuntu bionic/main amd64 libutempter0 amd64 1.1.6-3 [7 898 B]
Пол:5 http://kz.archive.ubuntu.com/ubuntu bionic/universe amd64 xterm amd64 330-1ubuntu2 [661 kB]
Получено 6 958 kB за 8с (854 kB/s)                                             
Выбор ранее не выбранного пакета libcodeblocks0.
(Чтение базы данных … на данный момент установлено 192892 файла и каталога.)
Подготовка к распаковке …/libcodeblocks0_16.01+dfsg-2.1_amd64.deb …
Распаковывается libcodeblocks0 (16.01+dfsg-2.1) …
Выбор ранее не выбранного пакета codeblocks-common.
Подготовка к распаковке …/codeblocks-common_16.01+dfsg-2.1_all.deb …
Распаковывается codeblocks-common (16.01+dfsg-2.1) …
Выбор ранее не выбранного пакета codeblocks.
Подготовка к распаковке …/codeblocks_16.01+dfsg-2.1_amd64.deb …
Распаковывается codeblocks (16.01+dfsg-2.1) …
Выбор ранее не выбранного пакета libutempter0:amd64.
Подготовка к распаковке …/libutempter0_1.1.6-3_amd64.deb …
Распаковывается libutempter0:amd64 (1.1.6-3) …
Выбор ранее не выбранного пакета xterm.
Подготовка к распаковке …/xterm_330-1ubuntu2_amd64.deb …
Распаковывается xterm (330-1ubuntu2) …
Обрабатываются триггеры для mime-support (3.60ubuntu1) …
Обрабатываются триггеры для desktop-file-utils (0.23-1ubuntu3) …
Настраивается пакет libutempter0:amd64 (1.1.6-3) …
Настраивается пакет libcodeblocks0 (16.01+dfsg-2.1) …
Обрабатываются триггеры для libc-bin (2.27-3ubuntu1) …
Обрабатываются триггеры для man-db (2.8.3-2) …
Обрабатываются триггеры для shared-mime-info (1.9-2) …
Обрабатываются триггеры для gnome-menus (3.13.3-11ubuntu1) …
Настраивается пакет codeblocks-common (16.01+dfsg-2.1) …
Обрабатываются триггеры для hicolor-icon-theme (0.17-2) …
Настраивается пакет codeblocks (16.01+dfsg-2.1) …
Настраивается пакет xterm (330-1ubuntu2) …

Шаг 2. Выбрать компилятор:


Старые вопросы на экзамен по C++

Хорошие книги по C++

Когда я планировала подборку книг по C++, я решила исправить ошибку, совершенную с книгами по организации кода: там получилась огромная простыня, которую неудобно читать. Для начала я решила выкинуть книги по STL, о них я напишу как-нибудь в другой раз. Но даже книг по C++ без STL оказалось столько, что пришлось разбить их на несколько групп. Итак, в ближайшие дни

  • Для начинающих. Сюда вошли книги, с которых хорошо начинать изучение языка С++. Хорошо подойдут и тем, кто не хочет что-либо разрабатывать на С++, а хочет ознакомиться с языком "для общего развития".
  • Для продолжающих. Книги для тех, кто активно занимается разработкой программ на С++ и собирается заниматься этими разработками и дальше.
  • Для фанатов. Для тех, кто очень любит язык С++. Также должно быть интересно разработчикам компиляторов.
  • Остальные. Книги, которые стоят у меня в списке "надо прочесть", ничего подробного я о них сказать не могу, кроме того, что знающие люди говорят, что они хорошие.

Ссылки по теме:
Хорошие книги по организации кода

Недавно Скотт Мейерс опубликовал несколько подборок на тему языка С++, которые я очень рекомендую почитать.
The Most Important C++ Books...Ever
The Most Important C++ Non-Book Publications...Ever
The Most Important C++ Software...Ever
The Most Important C++ People...Ever
My Most Important C++ Aha! Moments...Ever

источник

The Definitive C++ Book Guide and List

Beginner

Introductory, no previous programming experience

  • Programming: Principles and Practice Using C++ (Bjarne Stroustrup) (updated for C++11/C++14) An introduction to programming using C++ by the creator of the language. A good read, that assumes no previous programming experience, but is not only for beginners.

Introductory, with previous programming experience

  • C++ Primer * (Stanley Lippman, Josée Lajoie, and Barbara E. Moo) (updated for C++11) Coming at 1k pages, this is a very thorough introduction into C++ that covers just about everything in the language in a very accessible format and in great detail. The fifth edition (released August 16, 2012) covers C++11. [Review]
  • A Tour of C++ (Bjarne Stroustrup) The "tour" is a quick (about 180 pages and 14 chapters) tutorial overview of all of standard C++ (language and standard library, and using C++11) at a moderately high level for people who already know C++ or at least are experienced programmers. This book is an extended version of the material that constitutes Chapters 2-5 of The C++ Programming Language, 4th edition.
  • Accelerated C++ (Andrew Koenig and Barbara Moo) This basically covers the same ground as the C++ Primer, but does so on a fourth of its space. This is largely because it does not attempt to be an introduction to programming, but an introduction to C++ for people who've previously programmed in some other language. It has a steeper learning curve, but, for those who can cope with this, it is a very compact introduction into the language. (Historically, it broke new ground by being the first beginner's book to use a modern approach at teaching the language.) [Review]
  • Thinking in C++ (Bruce Eckel) Two volumes; is a tutorial style free set of intro level books. Downloads: vol 1vol 2. Unfortunately they’re marred by a number of trivial errors (e.g. maintaining that temporaries are automatically const), with no official errata list. A partial 3rdparty errata list is available at (http://www.computersciencelab.com/Eckel.htm), but it’s apparently not maintained.
* Not to be confused with C++ Primer Plus (Stephen Prata), with a significantly less favorable review.

Как проверить, является ли число точной степенью двойки

Java
    Scanner in = new Scanner(System.in);
    System.out.print("Enter num: ");
    int n = in.nextInt();
 
    if((n > 0) && ((n & (n - 1)) == 0))
        System.out.println("YES");
    else
        System.out.println("NO");




C++
int isPow2(int a) { return !(a&(a-1)); }

Программисты не верят в рекламу


Для продвижения продукта мы придумали специальный формат статей. Мы проверяем известные open source проекты типа Chromium, Unreal Engine, Doom и т.п. и пишем про найденные ошибки. Ошибки есть всегда в любом проекте, это нормально. Мы не рекламируем напрямую инструмент. Мы просто находим ошибки и говорим, что нашли их с помощью PVS-Studio. Если хотите – проверьте свой проект, вдруг что-то найдется интересное. Это работает очень здорово, так как программисты (наши пользователи) не верят в рекламу, а это и не реклама. Так вот люди скачивают триал, проверяют свой проект, возможно что-то находят и бегут к менеджеру, чтобы тот купил инструмент. Обычно на это уходит 1-3 месяца (цикл продаж).

Функция strlen в C/C++

Прототип функции

C:
Defined in header <string.h>
size_t strlen( const char *str );

C++:
Defined in header <cstring>
std::size_t strlen( const char* str );

str - указатель на null-terminated строку
Функции возвращает количество символов перед завершающим нулем. Завершающий нулевой символ не входит в длину строки. Он является служебным символом, для обозначения завершения Си-строки.

В C++ есть альтернативная функция char_traits::length

Не путайте размер массива, который содержит строку и длину строки. Например:
char mystr[100]="test string"; 
В данной строке массив имеет размер 100 символов, но строка в этом массиве имеет длину всего 11 символов. Таким образом, если выполнится оператор sizeof(mystr), ответ будет 100, а если — функция strlen(mystr), ответ 11.