|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
|
Изучаю C++ иногда бывает непонятно27.11.2012, 15:03. Показов 9320. Ответов 115
Метки нет (Все метки)
Здравствуйте. Я изучаю С++ по книжкам, по видео и прочим заметкам в интернете. Уже где-то дней 7 учу. С++ первый язык который изучаю. Сейчас читаю
Название книги: Освой самостоятельно C++ за 24 часа, 4-е издание Автор: Либерти, Джесс, Хорват, Дэвид Кстати хорошая книга, советую начинающим.
0
|
|
| 27.11.2012, 15:03 | |
|
Ответы с готовыми решениями:
115
Почему иногда отслеживается нажатие на три клавиши сразу, а иногда нет
|
|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
||||||
| 28.11.2012, 06:45 [ТС] | ||||||
|
Апгрейды того что я ещё понял как работает функция:
Вычисления в теле функции могут быть любые, после чего возможен вариант того что результат вычислений будет присвоен какойто переменной например Х и с этой переменной результат отправляется в функцию через команду return. Например:
0
|
||||||
|
Неэпический
|
|
| 28.11.2012, 06:54 | |
|
1
|
|
|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
|
| 28.11.2012, 08:02 [ТС] | |
|
В строке 3 указан тип возвращаемого значения для функции Convert это float(перед функцией Convert). Этот тип виден во всём коде потому что это глобальная переменная, поэтому в строке 10 не указан этот тип для Convert. Почему тогда тип возвращаемого значения для функции надо указывать в определении функции? В строке 15.
0
|
|
|
Неэпический
|
||||||||||||
| 28.11.2012, 08:11 | ||||||||||||
|
Не по теме: Вы где-то учитесь или самообучение?
В строке же 15 как раз начинается код самой функции. Что касается строки 10:
1
|
||||||||||||
|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
|
| 28.11.2012, 08:38 [ТС] | |
|
Самообучение. Функции вроде важная тема, хочется хорошо усвоить. ну почти всё уже понял по функциям. Я может догадываюсь как оно должно быть, но варианты как можно сделать неправильно я пишу сюда(уточнение, сомнение)))
ПЕРВОЕ УПОМИНАНИЕ функции Convert (в теле функции main) находится в строке 10, откуда функция и вызывается. Поэтому компилятор должен знать какое значение должна возвращать данная функция. Но в строке 10 перед функцией Convert не стоит тип возвращаемого значения. Тоесть мне так кажется что в строке 10 надо указать этот тип а в строке 15 можно не указывать. (Не знаю. Зависит от того глобальная ли переменная в строке 10 или локальная).
0
|
|
|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
|
| 28.11.2012, 08:48 [ТС] | |
|
Аха, ок. Ну я по программам с функциями прошёлся, там нигде не указан тип в вызове функции. Видно функция принимает тип который ей дадут return´ом или всёже из прототипа берёт тип.)) (ведь функция без типа это автоматически int)
0
|
|
|
Неэпический
|
||||||
| 28.11.2012, 08:59 | ||||||
|
Вот у Вас функция:
0
|
||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
|
||||||||||||
| 28.11.2012, 08:59 | ||||||||||||
int fnc1() а вот здесь int превратится double(приведение типов, в данном случае неявное)
1
|
||||||||||||
| 28.11.2012, 13:45 | ||
Ты видимо совсем не понимаешь, зачем нужен прототип и что он из себя представляет. Прототип уже содержит сигнатуру функции (возвращаемый тип и типы принимаемых аргументов), так зачем указывать ее тип при вызове?
0
|
||
|
WoLTRoN
|
|
| 28.11.2012, 22:44 | |
|
Думаю, с Джессом Либерти еще много будет непонятного - чтобы продемонстрировать идеи, он вводит примеры по 200 строк нудного кода, никому не нужного и нигде не применяющегося. Вообще я читаю его книгу, где освоение идет за 21 день, но этот код я там видел.
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||||||||||||||||||||||||||||||||||||||||
| 29.11.2012, 07:59 | ||||||||||||||||||||||||||||||||||||||||||||
|
Добавлено через 4 минуты Добавлено через 4 минуты Добавлено через 3 минуты Добавлено через 7 минут
Добавлено через 2 минуты Добавлено через 2 минуты Добавлено через 10 минут
Чем теперь 11-я строка отличается от 7-й? Ни чем. Как же описать функцию, прототип которой объявлен заранее?
Добавлено через 3 минуты
Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 2 минуты Добавлено через 1 минуту При вызове можно указать тип.
В строке 9 будет двойное приведение типа: приведение float к int, при котором значение округляется вниз до целого и неявное int к foat, чтоб присвоить результат первого приведения переменной типа float. Добавлено через 27 секунд На саму функцию это не влияет.
0
|
||||||||||||||||||||||||||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
||
| 29.11.2012, 11:52 [ТС] | ||
|
Изучаю C++ иногда бывает непонятно На что мне ответили что это не так, исходя из чего я стал строить другую теорию.
0
|
||
|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
|
| 29.11.2012, 11:58 [ТС] | |
|
0
|
|
| 29.11.2012, 12:06 | |
|
Не по теме: Что за книга?
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 29.11.2012, 12:07 | |
|
Попробуй не указать тип. Сам факт того, написанное означает заголовок функции определяется по наличию типа и скобок.
0
|
|
| 29.11.2012, 12:08 | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
| 29.11.2012, 12:14 | ||||||
|
И про совпадение с прототипом тоже бред. На полюсах есть такое понятие, как перегрузка. А перегрузка - это как раз различие в типах параметров между версиями функции. Валидно:
0
|
||||||
|
2 / 2 / 0
Регистрация: 27.11.2012
Сообщений: 131
|
||||
| 29.11.2012, 12:21 [ТС] | ||||
|
Куда вернуть?
Вот Jupiter мне сказал Добавлено через 1 минуту
0
|
||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||||||||
| 29.11.2012, 12:26 | ||||||||||||
|
Прототип обязателен, если функция используется раньше, чем реализована:
Добавлено через 1 минуту Добавлено через 1 минуту Ну от "фундоментальных" основ на жалких пять с половиной мегабайт уже диагнозом несёт, не сказать ещё хужей. Добавлено через 1 минуту С такой аннотацией должна быть целая библиотека, а то, что можно впихнуть в брошюру, называется азами.
0
|
||||||||||||
| 29.11.2012, 12:26 | |
|
Помогаю со студенческими работами здесь
40
При запуске браузера открывается nftds.ru, иногда бывает что по 2 -3 стр одновременно. Почему в google по неизвестному возрасту иногда бывает существенно выше показов, чем по другим возрастам, при этом очень Синие экраны бывает месяц нету, бывает каждый день Mozilla бывает открывает вкладку лишнюю, бывает отдельно окно
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|