807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1

Cтоит ли после изучения Си++ изучить Си

07.03.2015, 19:44. Показов 8149. Ответов 95
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, стоит ли после изучения Си++ изучить Си? Ведь в Си++ поддерживаются все сишные команды (например, alloc, realloc и т.д.) Но в учебниках по Си++ о них ни слова.
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2015, 19:44
Ответы с готовыми решениями:

У меня есть литература для изучения delphi 7. Могу ли я по ней изучить delphi 2010?
Всем привет. Очередной семестр в универе подходит к концу, а лабы по программированию сданы и мне нечем заняться =). Я хочу изучить delphi...

Какие книги лучше всего изучить чтобы хорошо изучить с++
Хотелось бы открыть тему, либо если она уже есть подскажите ссылку. Хочу собрать список книг чтобы изучить профессионально с++, если...

Что изучить после Паскаля?
Всем привет. Прошло 10 месяцов, как начал изучать паскаль. И сейчас продолжаю изучать по книгу Валерия Фаронова " Turbo Pascal. ...

95
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
08.03.2015, 01:09
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ValeryS Посмотреть сообщение
int func()
{
// вот здесь выделяется память, под автоматические переменные
// есть объект k или нет?
.....................................
int k; // вот здесь точно есть
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int func()
{
    // здесь вся память под автоматические переменные уже выделена
    //(все автоматические объекты реально существуют)
    //объект k реально существует, 
    //но не доступен законными способами
 
/////////////////////////////////////////////////////////////////////////
 
    int k; // <--- объект детонирован
 
      //и не важно на регистрах он там, или на стеке, или как то ещё
     //мы в любом случае имеем к нему доступ, и можем использовать
 
    // причем согласно приплюснутой RAII он уже проинициализирован 
   //ничего не делающим конструктором
 
}
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
08.03.2015, 01:10
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
конструктор по умолчанию означает что у класса нет конструктора
Ох, наверное члены класса и базовые классы сами самой конструируются

Про
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
различия между new и перегруженным new
ничего не понял, там какой-то несвязанный набор слов. Я аж даже сначала подумал, что читаю сообщение taras atavin'а

Код тоже, кхм, мягко говоря не понятно что должен продемонстрировать.
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.03.2015, 01:15
Ох, наверное члены класса и базовые классы сами самой конструируются
- если под них отведена маллоком память и алгоритм не зависит от первичной инициализации то всё отрабоатет лишь бы память выделена была в достаточном объеме.
Про
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
различия между new и перегруженным new
ничего не понял, там какой-то несвязанный набор слов.
Со мной тут спорили на тему что нью дёргает коснтрукторы, дёргает коснтрукторы placement new в теме говорилось о нью(где я чётко и ясно сказал - нью выделяет память). Пример дал в зубы чтобы все поняли что также как и маллок можно пергрузить так и нью можно пергрузить, но наначение останется у опреатора одним - выделять память и ничего иного. А вообще если быть точней в теме говорилось о важности знания Си и С++.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
08.03.2015, 01:20
Все в теме вели аргументированную дискуссию (мне даже почитать было интересно) и тут пришёл Дартаньян и начались переходы на личности.
1
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
08.03.2015, 01:21
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- если под них отведена маллоком память и алгоритм не зависит от первичной инициализации то всё отрабоатет лишь бы память выделена была в достаточном объеме.

Не по теме:

:popcorn:

0
08.03.2015, 01:26

Не по теме:

gromo, ещё расжёвывать надо?
http://codepad.org/VFcj7z13

0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
08.03.2015, 01:34
-=ЮрА=-, то, что такой код "работает" - это до поры до времени.
0
08.03.2015, 01:36

Не по теме:

Чет ваще дичь какая-то, пойду-ка спать

0
08.03.2015, 01:40

Не по теме:

отписался от темы, не могу соперничать с интеллектуалами, у меня уже IQ не хватает:-!

0
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
08.03.2015, 02:43
По поводу кода в 86 посте. Запустите лучше вот такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
class cTest{
protected:
    int param1;
    int param2;
public:
    void set(int p1, int p2){
        param1 = p1;
        param2 = p2;
    }
    int res(){
        return param1 + param2;
    }
};
 
int main(){
    cTest * test1 = (cTest *)malloc(sizeof(cTest));
    cTest * test2 = new cTest();
    cout<<test1->res()<<endl; // выводит нечто: например 656877350
    cout<<test2->res()<<endl; // выводит ноль
}
Вывод: http://codepad.org/hb0ftcj9
Внезапно отличающийся вывод при использовании new, не иначе как божественное вмешательство!
На самом деле же, new произвел zero-initialization. Как и должно было быть. Вызвал эту процедуру new-expression (не путать с operator new, который только выделяет память). Подробнее про new-expression.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
08.03.2015, 03:07
Цитата Сообщение от DrOffset Посмотреть сообщение
На самом деле же
у меня VS 2013 всегда ошибку (да да не варнинг) выбивала при использованию не инициализованых переменных. А тут сложение двух таких и тихо... )
0
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
08.03.2015, 10:28
Вот тут попробовал расжевать про new, может кому-то полезно будет.
0
 Аватар для Martein
704 / 109 / 21
Регистрация: 22.06.2014
Сообщений: 241
08.03.2015, 10:50
Оператор new не отвечает за вызов конструктора, создаваемого объекта - он всего лишь выделяет память для него, не более. За вызов конструктора отвечает компилятор, который он вставляет следом за выделением памяти для объекта. Мне кажется -=ЮРА=- об этом вам хотел сказать.
Миниатюры
Cтоит ли после изучения Си++ изучить Си  
0
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
08.03.2015, 13:41
Цитата Сообщение от Martein Посмотреть сообщение
Оператор new не отвечает за вызов конструктора
Естественно. Все прекрасно это понимают. Можешь показать, где тут кто-то говорил, что именно operator new вызывает конструктор? Речь с самого начала шла про new-expression и это неоднократно подчеркивалось в теме. Даже он сам приводил цитату, где про это было написано. С чем он спорил и был не согласен - не понятно.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
08.03.2015, 13:47
Цитата Сообщение от Martein Посмотреть сообщение
Оператор new не отвечает за вызов конструктора, создаваемого объекта - он всего лишь выделяет память для него, не более. За вызов конструктора отвечает компилятор, который он вставляет следом за выделением памяти для объекта. Мне кажется -=ЮРА=- об этом вам хотел сказать.
там выше уже писали что есть оператор new, и есть выражение new.

и что касается Юры: он не сумел внятно сформулировать свои тезисы.
но вместо того, что бы внести ясность, он начал тромбовать мозг.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
08.03.2015, 13:53
Цитата Сообщение от hoggy Посмотреть сообщение
он начал тромбовать мозг
Угу. Этим навыком он виртуозно владеет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2015, 13:53

Куда идти после изучения ЯПа?
Много раз слышал что то вроде &quot;С чего начать программировать, куда идти, шо учить?&quot;, для себя этот вопрос давно решил и сейчас, спустя...

Что выбрать после изучения MYSQL?
Привет ... Сначала изучил MYSQL .Выбрал его потому что он тесно связан с вебом. Хочу углубится в изучении БД. Подскажите что сейчас...

Стоит ли учить C# после изучения VB .NET?
Стоит ли учить c# после изучения vb.net?И чем плюсы c# от vb.net?

Что изучать после изучения основ языка
Доброго дня друзья. У меня такой вопрос. Подруга изучила основы С++, параллельно изучает книгу по алгоритмам и вот думает сейчас куда ей...

В каком направлении развиваться после изучения основ С++
После пройденого материала в институте и сдачи экзамена и курсача я задался вопросом а что дальше делать как развиваться. Помогите плиз...


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

Или воспользуйтесь поиском по форуму:
96
Ответ Создать тему
Опции темы

Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru