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

Непонятные моменты из Страуструпа и не только - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 02:52     Непонятные моменты из Страуструпа и не только #1
Начал я читать Страуструпа, там употребляется много новых слов для меня, вот по ним и вопросы (по порядку)
Но пока не из него: что значит auto (до с++11) ? Во многих статьях говорят, что оно делает переменную локальной (т.е все автоматические и смысла писать нет), но не очень понятно, а написано про это мало.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 02:52     Непонятные моменты из Страуструпа и не только
Посмотрите здесь:

Тайна Страуструпа - std_lib_facilities.h (2) C++
C++ Задачка из книги Страуструпа...
C++ Какая книга Страуструпа
задачки Страуструпа C++
Угадайка от Страуструпа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.08.2013, 17:58     Непонятные моменты из Страуструпа и не только #21
Цитата Сообщение от BuGi Посмотреть сообщение
"Тип void синтаксически эквивалентен основным типам, но использовать его можно только в производном типе".
больше контекста выложи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 18:02  [ТС]     Непонятные моменты из Страуструпа и не только #22
Это начало главы, а дальше другая мысль идет
Миниатюры
Непонятные моменты из Страуструпа и не только  
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.08.2013, 18:12     Непонятные моменты из Страуструпа и не только #23
Цитата Сообщение от BuGi Посмотреть сообщение
а дальше другая мысль идет
эта другая мысль и есть пояснение
Цитата Сообщение от BuGi Посмотреть сообщение
"Тип void синтаксически эквивалентен основным типам, но использовать его можно только в производном типе".
void* производный тип от void
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
25.08.2013, 18:22     Непонятные моменты из Страуструпа и не только #24
Цитата Сообщение от DU Посмотреть сообщение
auto в новом стандарте - это чтобы тип переменной не писать.
простой пример:
C++
1
2
3
4
5
6
7
int SomeFunction()
{
  return 0;
}
 
int res1 = SomeFuntion();
auto res2 = SomeFunction();
Фиговый пример, auto длиннее чем int :-)
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 18:24  [ТС]     Непонятные моменты из Страуструпа и не только #25
Производный тип любого другого тоже только указатель?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.08.2013, 18:28     Непонятные моменты из Страуструпа и не только #26

Не по теме:

Цитата Сообщение от Герц Посмотреть сообщение
Фиговый пример, auto длиннее чем int :-)
из Оружейного барона
Дело в том, что военный вертолет...
...это вовсе не военный вертолет,
это спасательный вертолет.
тоже самое можно сказать и про тип возвращаемого значения функции



Цитата Сообщение от BuGi Посмотреть сообщение
Производный тип любого другого тоже только указатель?
да. но производный не в том смысле что он от кого-то унаследован. переводчики книги постарались...
MbICJIuTeJIb_u3
KeM6Pug}I{a
49 / 49 / 2
Регистрация: 23.08.2013
Сообщений: 202
25.08.2013, 19:03     Непонятные моменты из Страуструпа и не только #27
Цитата Сообщение от Croessmah Посмотреть сообщение
Если совсем примитивно, то
C++
1
2
int *a[5] ; //Массив из пяти указателей на int
int (*a)[5] ; //Указатель на массив из 5 int'ов
Что то я не совсем понял зачем это надо? Ведь массив это и есть константный указатель на начало набора данных.
Для меня указатель на массив это уже двумерный массив, а это не понятно что... (я про это int (*a)[5])
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 19:38  [ТС]     Непонятные моменты из Страуструпа и не только #28
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Что то я не совсем понял зачем это надо? Ведь массив это и есть константный указатель на начало набора данных.
Для меня указатель на массив это уже двумерный массив, а это не понятно что... (я про это int (*a)[5])
Тоже как-то не очень понял но согласился
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 00:27     Непонятные моменты из Страуструпа и не только #29
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Ведь массив это и есть константный указатель на начало набора данных.
Интерпретируется как константный указатель.
Сравните вывод sizeof для массива и для указателя
MbICJIuTeJIb_u3
KeM6Pug}I{a
49 / 49 / 2
Регистрация: 23.08.2013
Сообщений: 202
26.08.2013, 00:31     Непонятные моменты из Страуструпа и не только #30
Цитата Сообщение от Croessmah Посмотреть сообщение
Интерпретируется как константный указатель.
Сравните вывод sizeof для массива и для указателя
Блин в Дейтлах нечего про это не говорится ... Или я слепой ...
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 00:35     Непонятные моменты из Страуструпа и не только #31
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
 
void foo ( int ( * arr ) [ 10 ] ) {
}
 
 
int main() {
    int * a = NULL ;
    int ( * b ) [ 10 ] = NULL ;
    foo ( a ) ; //Error
    foo ( b ) ; //Ok
}
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
26.08.2013, 00:49  [ТС]     Непонятные моменты из Страуструпа и не только #32
И такой вопрос: читал, что class отличается от struct только модификатором доступа по умолчанию и public наследованием, тогда почему си не объектно ориентированный язык? в нем есть и возможность наследования, полиморфизма и сокрытия данных
MbICJIuTeJIb_u3
KeM6Pug}I{a
49 / 49 / 2
Регистрация: 23.08.2013
Сообщений: 202
26.08.2013, 00:57     Непонятные моменты из Страуструпа и не только #33
Цитата Сообщение от BuGi Посмотреть сообщение
И такой вопрос: читал, что class отличается от struct только модификатором доступа по умолчанию и public наследованием, тогда почему си не объектно ориентированный язык? в нем есть и возможность наследования, полиморфизма и сокрытия данных
Помойму структура в СИ отличается от С++.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 01:01     Непонятные моменты из Страуструпа и не только #34
Цитата Сообщение от BuGi Посмотреть сообщение
огда почему си не объектно ориентированный язык?
Потому что он не объектно ориентированный.
Ну и не много дополню:
Цитата Сообщение от BuGi Посмотреть сообщение
И такой вопрос: читал, что class отличается от struct в C++ только модификатором доступа по умолчанию и public наследованием
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
26.08.2013, 01:02  [ТС]     Непонятные моменты из Страуструпа и не только #35
В си можно делать только так?
C++
1
2
3
4
5
struct test
{
 int a1;
 int a2;
};
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 01:07     Непонятные моменты из Страуструпа и не только #36
Цитата Сообщение от BuGi Посмотреть сообщение
В си можно делать только так?
ну в принципе да
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
26.08.2013, 01:09  [ТС]     Непонятные моменты из Страуструпа и не только #37
Нет конструкторов, функций/методов внутри и пр?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
26.08.2013, 01:13     Непонятные моменты из Страуструпа и не только #38
Цитата Сообщение от BuGi Посмотреть сообщение
Нет конструкторов, функций/методов внутри и пр?
А нафига они нужны?
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
26.08.2013, 01:33  [ТС]     Непонятные моменты из Страуструпа и не только #39
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А нафига они нужны?
Ну не знаю, функции внутри структуры для работы с данными в принципе могли засунуть
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2013, 01:34     Непонятные моменты из Страуструпа и не только
Еще ссылки по теме:

Задачка из книги Страуструпа C++
Калькулятор страуструпа C++
C++ Задание из Страуструпа

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 01:34     Непонятные моменты из Страуструпа и не только #40
Цитата Сообщение от BuGi Посмотреть сообщение
функции внутри структуры для работы с данными в принципе могли засунуть
Зачем? Им и снаружи не плохо живется в Си
Yandex
Объявления
26.08.2013, 01:34     Непонятные моменты из Страуструпа и не только
Ответ Создать тему
Опции темы

Текущее время: 02:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru