Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
1

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

25.08.2013, 02:52. Показов 3175. Ответов 56
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Начал я читать Страуструпа, там употребляется много новых слов для меня, вот по ним и вопросы (по порядку)
Но пока не из него: что значит auto (до с++11) ? Во многих статьях говорят, что оно делает переменную локальной (т.е все автоматические и смысла писать нет), но не очень понятно, а написано про это мало.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2013, 02:52
Ответы с готовыми решениями:

Прокомментировать непонятные моменты
System.out.println("Задание b:"); int m = 30; int source = new...

Непонятные моменты языка
Тут нужно переписать программу с Фортрана-77 на Си, котелок уже не варит. Вот несколько вопросов...

сокеты непонятные моменты
1. Как выбрать оптимальный размер буфера? Я понимаю что можно поставить и 1 байт данные все...

Непонятные моменты с полумостом.
Вначале выкладывал в разделе "Аналоговая и силовая электроника" но ответов нет, наверно сразу сюда...

56
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 03:16 2
Цитата Сообщение от BuGi Посмотреть сообщение
Во многих статьях говорят, что оно делает переменную локальной (т.е все автоматические и смысла писать нет), но не очень понятно, а написано про это мало.
Может потому, что писать об этом особенно и нечего?
0
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
25.08.2013, 03:42 3
Потому что смысл о нем писать, если и так все локальные переменные являются "автоматическими" по умолчанию?
0
KeM6Pug}I{a
49 / 49 / 1
Регистрация: 23.08.2013
Сообщений: 202
25.08.2013, 03:48 4
Цитата Сообщение от BuGi Посмотреть сообщение
auto
Может вы путаете его с auto_ptr ?
0
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
25.08.2013, 03:50 5
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Может вы путаете его с auto_ptr ?
Скорее всего, я думаю, он всё таки имеет в виду auto
0
KeM6Pug}I{a
49 / 49 / 1
Регистрация: 23.08.2013
Сообщений: 202
25.08.2013, 04:18 6
Цитата Сообщение от Toshik_ Посмотреть сообщение
Скорее всего, я думаю, он всё таки имеет в виду auto
Все локальные переменные автоматические , то есть auto. Что здесь может быть не понятного ?
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
25.08.2013, 04:34 7
auto в новом стандарте - это чтобы тип переменной не писать.
простой пример:
C++
1
2
3
4
5
6
7
int SomeFunction()
{
  return 0;
}
 
int res1 = SomeFuntion();
auto res2 = SomeFunction();
компилятор и так знает, какой тип возвращает функция. и вот таким вот auto его можно не писать.
в данном примере это не особо полезно, но бывают типы, писать которые достаточно сложно:
C++
1
2
3
4
5
6
7
8
std::vector<std::vector<int>> v;
...
std::vector<std::vector<int>>::const_iterator it1 = v.begin();
auto it2 = v.begin();
 
или
X x = std::bind(...); // вот тут результирующий тип может зависить от аргументов бинда. и тип там достаточно навороченный
auto xx = std::bind(...); // пофиг какой тип. переменная нам нужна, только для того, чтобы позвать operator ()
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 04:38 8
....
Цитата Сообщение от DU Посмотреть сообщение
auto в новом стандарте
Цитата Сообщение от BuGi Посмотреть сообщение
что значит auto (до с++11) ?
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 05:27  [ТС] 9
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Все локальные переменные автоматические , то есть auto. Что здесь может быть не понятного ?
Локальность же зависит от области видимости (где определили переменную)? и вдруг внезапно появляется auto. для чего было изначально введено? т.е какое свойство появляется. вот это и не понятно
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
25.08.2013, 06:03 10
http://ru.wikipedia.org/wiki/%... 1%82%D0%B8
2
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 13:53  [ТС] 11
ну понятно
дальше:
C++
1
2
int *v[10];//массив указателей, понятно
int (*v)[10];//указатель массива - ? как его использовать? гугл не выдает ничего на указатель массива
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 15:17 12
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
//int *v[10];//массив указателей, понятно
    
    int (*v)[10];//указатель массива - ? как его использовать? гугл не выдает ничего на указатель массива
    
    int arr[10];
    v = &arr;
    
    for (int i = 0; i < 10; ++i)
        (*v)[i] = i;
    
    for (int i = 0; i < 10; ++i)
        cout << (*v)[i] << endl;
1
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 15:39  [ТС] 13
А нет статьи где побольше про это? Впервые вижу, что так делают)
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 15:42 14
Цитата Сообщение от BuGi Посмотреть сообщение
Впервые вижу, что так делают
Я тоже
Есть более простые и понятные методы работы с массивами.
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 16:06  [ТС] 15
Ну хорошо, дальше из главы про void
"Тип void синтаксически эквивалентен основным типам, но использовать его можно только в производном типе".
Я понимаю, что тут речь идет про void* и преобразовании его туда сюда?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
25.08.2013, 16:15 16
Цитата Сообщение от alsav22 Посмотреть сообщение
Я тоже
Цитата Сообщение от alsav22 Посмотреть сообщение
Как-то так:
или так:
Создание двумерного динамического массива
1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 16:19 17
Цитата Сообщение от BuGi Посмотреть сообщение
Ну хорошо, дальше из главы про void
Книга длинная? Правило форума: одна тема - один вопрос.
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 16:33  [ТС] 18
Чем конструкция int (*a)[5] отличается от int *a[5]? При выделении памяти int (*arr)[5] = new int [5][5]; второй индекс всегда будет фиксированным?

Добавлено через 57 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
Книга длинная? Правило форума: одна тема - один вопрос.
Не очень, страниц 200 осталось Но на этом мои вопросы пока закончились, остается только с этими разобраться
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
25.08.2013, 16:37 19
Цитата Сообщение от BuGi Посмотреть сообщение
Чем конструкция int (*a)[5] отличается от int *a[5]?
Если совсем примитивно, то
C++
1
2
int *a[5] ; //Массив из пяти указателей на int
int (*a)[5] ; //Указатель на массив из 5 int'ов
1
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 16:56  [ТС] 20
Цитата Сообщение от BuGi Посмотреть сообщение
Ну хорошо, дальше из главы про void
"Тип void синтаксически эквивалентен основным типам, но использовать его можно только в производном типе".
Я понимаю, что тут речь идет про void* и преобразовании его туда сюда?
Последнее
0
25.08.2013, 16:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2013, 16:56
Помогаю со студенческими работами здесь

DllImport из с++ подскажите непонятные моменты
private extern static IntPtr Print(string a, string b); public static string...

Есть непонятные моменты по хтмл и ксс
Приветствую друзья. Ребят, я пытаюсь понять CSS и HTML, и по ходу изучения возникают вопросы....

Некоторые непонятные моменты насчёт Паскаля
Всем привет. Начал учиться на программиста на заочке, дали контрольную, сделать в Паскале надо. А...

Книга Kotlin в действии непонятные моменты
Стр 76. Про функции верхнего уровня. Там есть такая фраза. Вместо этого можно помещать функции...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru