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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
#1

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

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

Начал я читать Страуструпа, там употребляется много новых слов для меня, вот по ним и вопросы (по порядку)
Но пока не из него: что значит auto (до с++11) ? Во многих статьях говорят, что оно делает переменную локальной (т.е все автоматические и смысла писать нет), но не очень понятно, а написано про это мало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 02:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Непонятные моменты из Страуструпа и не только (C++):

сокеты непонятные моменты - C#
1. Как выбрать оптимальный размер буфера? Я понимаю что можно поставить и 1 байт данные все равно все будут получены (TCP/IP) , можно...

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

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

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

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

Непонятные моменты из книги Фроловых А. и Г. "C# для начинающих" - C#
Я читаю эту книгу на работе и дома, пока время есть, и переписываю приведенные в книге примеры в Microsoft Visual C#, но как бы ни было...

56
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 03:16 #2
Цитата Сообщение от BuGi Посмотреть сообщение
Во многих статьях говорят, что оно делает переменную локальной (т.е все автоматические и смысла писать нет), но не очень понятно, а написано про это мало.
Может потому, что писать об этом особенно и нечего?
0
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
25.08.2013, 03:42 #3
Потому что смысл о нем писать, если и так все локальные переменные являются "автоматическими" по умолчанию?
0
MbICJIuTeJIb_u3
KeM6Pug}I{a
49 / 49 / 2
Регистрация: 23.08.2013
Сообщений: 202
25.08.2013, 03:48 #4
Цитата Сообщение от BuGi Посмотреть сообщение
auto
Может вы путаете его с auto_ptr ?
0
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
25.08.2013, 03:50 #5
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Может вы путаете его с auto_ptr ?
Скорее всего, я думаю, он всё таки имеет в виду auto
0
MbICJIuTeJIb_u3
KeM6Pug}I{a
49 / 49 / 2
Регистрация: 23.08.2013
Сообщений: 202
25.08.2013, 04:18 #6
Цитата Сообщение от Toshik_ Посмотреть сообщение
Скорее всего, я думаю, он всё таки имеет в виду auto
Все локальные переменные автоматические , то есть auto. Что здесь может быть не понятного ?
0
DU
1484 / 1130 / 45
Регистрация: 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
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 04:38 #8
....
Цитата Сообщение от DU Посмотреть сообщение
auto в новом стандарте
Цитата Сообщение от BuGi Посмотреть сообщение
что значит auto (до с++11) ?
0
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 05:27  [ТС] #9
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Все локальные переменные автоматические , то есть auto. Что здесь может быть не понятного ?
Локальность же зависит от области видимости (где определили переменную)? и вдруг внезапно появляется auto. для чего было изначально введено? т.е какое свойство появляется. вот это и не понятно
0
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
25.08.2013, 06:03 #10
http://ru.wikipedia.org/wiki/%D0%9A%...8F%D1%82%D0%B8
2
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 13:53  [ТС] #11
ну понятно
дальше:
C++
1
2
int *v[10];//массив указателей, понятно
int (*v)[10];//указатель массива - ? как его использовать? гугл не выдает ничего на указатель массива
0
alsav22
5426 / 4821 / 442
Регистрация: 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
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 15:39  [ТС] #13
А нет статьи где побольше про это? Впервые вижу, что так делают)
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 15:42 #14
Цитата Сообщение от BuGi Посмотреть сообщение
Впервые вижу, что так делают
Я тоже
Есть более простые и понятные методы работы с массивами.
0
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
25.08.2013, 16:06  [ТС] #15
Ну хорошо, дальше из главы про void
"Тип void синтаксически эквивалентен основным типам, но использовать его можно только в производном типе".
Я понимаю, что тут речь идет про void* и преобразовании его туда сюда?
0
25.08.2013, 16:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2013, 16:06
Привет! Вот еще темы с ответами:

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

Калькулятор Страуструпа (C++) - C++
Добрый вечер! Я изучаю &quot;Принципы и практика использования C++&quot; Страуструпа. Все, что он пишет, хорошо понимаю, но следующая логика...

Задание из Страуструпа - C++
Добрый день,дорогие форумчане.В общем читаю книжечку Страуструпа.Выполняю задания.Вот что-то у меня ступор.Прошу Вашего совета:) ...

Калькулятор Страуструпа С++ - C++
Я новичок в С++, пытаюсь читать Страуструпа. Дошёл до строчного калькулятора и не понимаю принципов его работы, перечитывал главу 4 раза....


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

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

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