Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.97
Siebent
16 / 2 / 1
Регистрация: 21.11.2012
Сообщений: 43
#1

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

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

Появилось желание изучить язык программирования. Собственно, интересует какая разница, и существует ли она вообще между С++ и Visual C++? Какую среду разработки используют профессиональные программисты?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 17:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С++, какую среду разработки выбрать? (C++):

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

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

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

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

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

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

33
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 18:17 #16
Siebent, если для программирования на win API, то и с++ по большому счету не обязательно. Для программирования именно windows приложений есть хорошая Сишная среда (вместе с компилятором и отладчиком), именуемая Palles C. Хотя если попыхтеть, то наверняка ее можно и на с++ запилить (не пробовала). Для с++ я привыкла использовать qt creator, но именно привыкла. Потому что пишу на разных платформах и одинаковое окружение всегда удобно.
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
29.11.2012, 18:24 #17
Siebent,
для изучения MFC WinApi( и не только) посмотри сайт
http://www.firststeps.ru/
но там все примеры для шестерки так что подумай о ней если не хочешь исправлять код и разбираться в интерфейсе
Цитата Сообщение от activnaya Посмотреть сообщение
то и с++ по большому счету не обязательно.
этим мы себя лишаем классов, new/delete и еще много вкусностей
0
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 18:29 #18
Цитата Сообщение от ValeryS Посмотреть сообщение
этим мы себя лишаем классов, new/delete и еще много вкусностей
зачем нам все это когда вся API есть чистый Си код? И чем new/delete вкуснее *alloc()/free()? Конечно если есть желание (или привычка, или просто неумение работать без) STL, то да.
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
29.11.2012, 18:58 #19
Цитата Сообщение от activnaya Посмотреть сообщение
зачем нам все это когда вся API есть чистый Си код?
и что ????
классы побоку?
они не только для API нужны, если конечно не собираешься делать окошко с кнопкой "Нажми меня"
почему ж тогда под консоль классы используют?
Цитата Сообщение от activnaya Посмотреть сообщение
И чем new/delete вкуснее *alloc()/free()?
тем что вызывают конструктор/деструктор

Добавлено через 3 минуты
Цитата Сообщение от activnaya Посмотреть сообщение
неумение работать без) STL,
накидай мне быстренько в структурном программировании
работу с динамическим массивом
такое как vector или CArray
0
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
29.11.2012, 18:59 #20
Можешь Dev-C++ попробовать. Мало места занимает и интерфейс приятный.
0
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 19:01 #21
Цитата Сообщение от ValeryS Посмотреть сообщение
накидай мне быстренько в структурном программировании
работу с динамическим массивом
такое как vector или CArray
std::vector уже динамический массив? Я думала типичный односвязный список. Ладно, сейчас только пойду чайку попью и накидаю тебе базовый структурный вектор.
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
29.11.2012, 19:06 #22
Цитата Сообщение от activnaya Посмотреть сообщение
std::vector уже динамический массив? Я думала типичный односвязный список.
вообще то список это list
ru.wikipedia.org/wiki/Стандартная_библиотека_шаблонов
0
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
29.11.2012, 19:43 #23
Мне одному, наверное, на всем форуме нравится Qt Creator? По-моему довольно удобная, простенькая ИДЕ. К тому же кроссплатформенная.
0
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 19:45 #24
Цитата Сообщение от 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
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
29.11.2012, 19:48 #25
activnaya, вектор - это вовсе никакой не список! Вектор требует размещение содержимое контейнера в непрерывном блоке памяти. С данными векторами работает арифметика указателей и еще много чего(обращение по индексу, например)
Кроме того присваивание tail = head; абсолютно бессмысленно, ты изменяешь копию указателя, а не сам указатель
0
activnaya
29.11.2012, 20:07
  #26

Не по теме:

Цитата Сообщение от 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
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
29.11.2012, 21:37 #27
Цитата Сообщение от activnaya Посмотреть сообщение
ну хорошо. Вектор - не массив, вектор - не список.
по ссылке значит мы не ходили
vector C-подобный динамический массив произвольного доступа с автоматическим изменением размера при добавлении/удалении элемента. Доступ по индексу за . Добавление-удаление элемента в конец vector занимает амортизированное время, та же операция в начале или середине vector — . Стандартная быстрая сортировка за . Поиск элемента перебором занимает . Существует специализация шаблона vector для типа bool, которая требует меньше памяти за счёт хранения элементов в виде битов, однако она не поддерживает всех возможностей работы с итераторами.
где хоть слово про список???
и далее где в твоей реализации переопределенный [] ?
учитывая то что С не поддерживает переопределения
0
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 21:50 #28
Цитата Сообщение от ValeryS Посмотреть сообщение
по ссылке значит мы не ходили
ну если для тебя вики авторитет, то что тут поделать? Для меня более авторитетный источник, тот что я указала в своем посте. Там косвенно сказано что std::vector это не массив. (иначе зачем нам std::array?)
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
29.11.2012, 21:54 #29
Цитата Сообщение от 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
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
29.11.2012, 22:07 #30
Цитата Сообщение от 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 22:07
Привет! Вот еще темы с ответами:

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

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

Какую среду программирования лучше выбрать для обучения языку C++ ? Visual Studio,Visual Basic или Visual C++? - C++
И напишите,чем рекомендуемая вами среда программирования лучше других? Насколько я понял из Википедии они все поддерживают язык...

Посоветуйте среду разработки - C++
Здравствуйте все кто посетил эту тему )) Я хочу начать программировать на C))) Посоветуйте какую среду разработки выбрать (ссылочку дайте...


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

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
29.11.2012, 22:07
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru