Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/48: Рейтинг темы: голосов - 48, средняя оценка - 4.75
 Аватар для Siebent
19 / 4 / 1
Регистрация: 21.11.2012
Сообщений: 77

С++, какую среду разработки выбрать?

29.11.2012, 17:24. Показов 10341. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Появилось желание изучить язык программирования. Собственно, интересует какая разница, и существует ли она вообще между С++ и Visual C++? Какую среду разработки используют профессиональные программисты?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2012, 17:24
Ответы с готовыми решениями:

Какую среду разработки выбрать для диплома
Здравствуйте всем! Подошло время для диплома, с темой определился, а с какой средой разработки нет. Можете посоветовать, что лучше? Я хочу...

Какую среду разработки выбрать на Mac для С++?
Добрый день! Недавно решил заняться изучением программирования на С++, однако сразу возник вопрос: какую среду разработки лучше...

Какую среду разработки лучше использовать новичку?
Пытаюсь начать изучать c++ и нужно несколько советов: 1) Какую среду разработки лучше использовать новичку? (Желательно с возможностью...

33
 Аватар для activnaya
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 19:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ValeryS Посмотреть сообщение
накидай мне быстренько в структурном программировании
работу с динамическим массивом
такое как vector или CArray
std::vector уже динамический массив? Я думала типичный односвязный список. Ладно, сейчас только пойду чайку попью и накидаю тебе базовый структурный вектор.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
29.11.2012, 19:06
Цитата Сообщение от activnaya Посмотреть сообщение
std::vector уже динамический массив? Я думала типичный односвязный список.
вообще то список это list
ru.wikipedia.org/wiki/Стандартная_библиотека_шаблонов
0
 Аватар для Buckstabue
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
29.11.2012, 19:43
Мне одному, наверное, на всем форуме нравится Qt Creator? По-моему довольно удобная, простенькая ИДЕ. К тому же кроссплатформенная.
0
 Аватар для activnaya
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 19:45
Цитата Сообщение от ValeryS Посмотреть сообщение
вообще то список это list
list - двусвязный список, vector - односвязный. Может тут и ошибки даже есть, не буду ни компилировать, ни отлаживать, смысл в том, что это так же просто как 2*2 = 4.
Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
typedef struct vec
{
    int val;
    struct vec *next;
} vector_t;
 
vector_t *push_back(vector_t *head, vector_t *tail, int val)
{
    vector_t *tmp = malloc(sizeof(vector_t));
 
    if (!tmp)
        return NULL;
    else
    {
        tmp->val = val;
        tmp->next = NULL;
 
        if (!head)
        {
            head = tmp;
            tail = head;
        }
         else
            tail->next = tmp;
    }
    return tmp;
}
 
vector_t *pop_back(vector_t *head, vector_t *tail)
{
    vector_t *tmp = head;
 
    if (tmp->next == NULL)
    {
        free(tmp);
        return NULL;
    }
    while ( (tmp->next)->next )
        tmp = tmp->next;
        
    free(tmp->next);
    tmp->next = NULL;
 
    return tmp;
}
0
 Аватар для Buckstabue
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
29.11.2012, 19:48
activnaya, вектор - это вовсе никакой не список! Вектор требует размещение содержимое контейнера в непрерывном блоке памяти. С данными векторами работает арифметика указателей и еще много чего(обращение по индексу, например)
Кроме того присваивание tail = head; абсолютно бессмысленно, ты изменяешь копию указателя, а не сам указатель
0
29.11.2012, 20:07

Не по теме:

Цитата Сообщение от Buckstabue Посмотреть сообщение
activnaya, вектор - это вовсе никакой не список!
ну хорошо. Вектор - не массив, вектор - не список. Что тогда? Судя по описанию отсюда http://www.cplusplus.com/reference/vector/vector/ вектор - есть максимально приближенный к массивам список.
Цитата Сообщение от Buckstabue Посмотреть сообщение
Кроме того присваивание tail = head; абсолютно бессмысленно, ты изменяешь копию указателя, а не сам указатель
ой ой перепиши так. И соответственно замени тело функции, где это необходимо.
C
1
vector_t *push_back(vector_t **head, vector_t **tail, int val)

0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
29.11.2012, 21:37
Цитата Сообщение от activnaya Посмотреть сообщение
ну хорошо. Вектор - не массив, вектор - не список.
по ссылке значит мы не ходили
vector C-подобный динамический массив произвольного доступа с автоматическим изменением размера при добавлении/удалении элемента. Доступ по индексу за . Добавление-удаление элемента в конец vector занимает амортизированное время, та же операция в начале или середине vector — . Стандартная быстрая сортировка за . Поиск элемента перебором занимает . Существует специализация шаблона vector для типа bool, которая требует меньше памяти за счёт хранения элементов в виде битов, однако она не поддерживает всех возможностей работы с итераторами.
где хоть слово про список???
и далее где в твоей реализации переопределенный [] ?
учитывая то что С не поддерживает переопределения
0
 Аватар для activnaya
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 21:50
Цитата Сообщение от ValeryS Посмотреть сообщение
по ссылке значит мы не ходили
ну если для тебя вики авторитет, то что тут поделать? Для меня более авторитетный источник, тот что я указала в своем посте. Там косвенно сказано что std::vector это не массив. (иначе зачем нам std::array?)
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
29.11.2012, 21:54
Цитата Сообщение от activnaya Посмотреть сообщение
ну хорошо. Вектор - не массив, вектор - не список. Что тогда? Судя по описанию отсюда http://www.cplusplus.com/reference/vector/vector/ вектор - есть максимально приближенный к массивам список.
...
Internally, vectors use an array to store their elements. In order to grow in size dynamically, this array may need to be reallocated when new elements are inserted. This is generally an expensive operation that implies moving all elements to a newly allocated array, and thus is not performed for each element added to the container.
...
Перевод:
Внутри, для хранения своих элементов, векторы используют массивы. При вставке нового элемента, для того чтобы динамически увеличится в размере массив может потребовать перераспределения памяти. Это довольно дорогостоящая операция, предполагающая перемещения всех элементов во вновь созданный массив, и следовательно не выполняющаяся для каждого элемента добавленного в контейнер(потому как памяти обычно выделяется больше, чем необходимо для хранения текущего количества элементов - прим.).
Добавлено через 1 минуту
Цитата Сообщение от activnaya Посмотреть сообщение
иначе зачем нам std::array
std::array это обёртка над простым статическим массивом.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
29.11.2012, 22:07
Цитата Сообщение от activnaya Посмотреть сообщение
Для меня более авторитетный источник, тот что я указала в своем посте.
хорошо пойдем по твоей ссылке
первая же строчка
Vectors are sequence containers representing arrays that can change in size.
и что мы видим arrays сиречь массивы
которые can change in size могут изменять размер
динамический массив
слово список (list)во всей статье я нашел только в этой фразе
Compared to the other dynamic sequence containers (deques, lists and forward_lists), vectors are very efficient
где вектор сравнивается с другими контейнерами

Добавлено через 4 минуты
Цитата Сообщение от activnaya Посмотреть сообщение
иначе зачем нам std::array?
смотрим там же (поскольку авторитет)
первая же строка
Arrays are fixed-size sequence containers: they hold a specific number of elements ordered in a strict linear sequence.
сиречь массив фиксированного размера (не динамический массив)
еще по ссылкам погуляем?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.11.2012, 22:08
Цитата Сообщение от activnaya Посмотреть сообщение
list - двусвязный список, vector - односвязный.

Если б это был односвязный список, то доступ по индексу для него - хороший performance penalty. Внутри массив.
0
545 / 344 / 12
Регистрация: 05.11.2010
Сообщений: 1,076
Записей в блоге: 1
29.11.2012, 22:35
Эти же люди скажут вам, что std::map - это хеш.
Спорить - бесполезно :-)
0
7 / 7 / 2
Регистрация: 30.04.2012
Сообщений: 188
30.11.2012, 01:51
Уважаемый Siebent!
Самый простой и недорогой вариант для Вас - начать с программы-среды C++_Builder_6.0 . Этот пакет позволит Вам освоить и C, и C++ путём создания консольных приложений (работающие несложные программы, но без графического интерфейса). Очень рекомендую для первых шагов приобрести недорогую книгу Джесс Либерти "Освой самостоятельно C++. 10 минут на урок". И через месяц Вы будете свободно писать программы для математических расчётов и прочие, тренирующие умение составлять работающие коды. А далее можете переходить на изучение ООП используя тот же компилятор Builder 6.0 . После этого попробуйте перейти на пакет Visual Studio (язык тот же C++). Профессионалы этот пакет выше ценят, по сравнению с Builder 6.0 . Если же понадобиться создавать программы для Web, то в пакете Studio имеется язык C#.
Успехов и творческой радости!
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.11.2012, 03:23
Какую среду разработки используют профессиональные программисты?
только vi редактор, только hardcore
Dev Cpp для новичка самое то, ИМХО. А на студию перейти успеете, когда захотите что-нибудь серьезное писать. Или же на СВ/Qt Creator/Eclipse/netBeans. К моменту перехода осознаете чего хотите. Студия заточена под винду и позволяет получать всякие ништяки, но именно на Microsoft. А dev имеет минималистический дизайн, легче в обращении и чуть ближе к стандарту. Главное - дело вкуса. Я вот перепробовал все из вышеперечисленного, исключая NetBeans и включая Geany, wxDev, но удобней gedit-a не нашел.

std::vector уже динамический массив?
грубо говоря, это обернутый динамический массив. Иначе откуда константное время доступа к элементу, проблемы с удалением не с конца и свободное индексирование? Список имеет диаметрально противоположную философию относительно этих понятий.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2012, 03:23

Как выбрать среду разработки?
Не могу определиться со средой разработки. Цель - написать чат на С++ (Изучить возможные способы общения программ через интернет в формате...

Возможно ли преобразовать программу на Борланд С++ в какую-либо графическую среду разработки?
Добрый вечер! Подскажите пожалуйста - возможно ли преобразовать программу, которая была написана на Борланд С++ в какую либо ГРАФИЧЕСКУЮ...

Какую среду выбрать?
Собираюсь начать изучение C++. Подскажите, какую среду разработки лучше выбрать и почему?

Какую бесплатную среду (IDE) разработки для С++ 2013/2014 года выпуска лучше скачать?
Существуют множество как и бесплатные, так и платные среды разработок для С++ , но что делать, если вы можете скачать только один раз и то...

Какую лучше выбрать среду для графики
Какая среда больше подходит для программирования графики с OpenGL, без конструктора визуальных компонентов, и бесплатная


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru