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

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

Войти
Регистрация
Восстановить пароль
 
Terawatt93
0 / 0 / 0
Регистрация: 23.02.2014
Сообщений: 13
#1

Push_back(1.) - C++

28.01.2015, 23:44. Просмотров 325. Ответов 8
Метки нет (Все метки)

Доброго времени суток, уважаемые форумчане!
Ковыряя чужой код, наткнулся на конструкцию:

C
1
2
3
4
5
6
JcikList.push_back(1.);
    JcikList.push_back(2.);
    JcikList.push_back(3.);
    JcikList.push_back(4.);
    JcikList.push_back(5.);
    JcikList.push_back(6.);
где JcikList-
C
1
std::list<float> JcikList;
Подскажите пожалуйста, что все-таки может помещать такая конструкция в JcikList?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2015, 23:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Push_back(1.) (C++):

Push_back - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;iterator&gt; #include &lt;algorithm&gt; using namespace std; int main() { ...

push_back vs emplace_back - C++
собственно тема обсуждалась там, я сделал вывод, что надо использовать emplace_back теперь, вроде как эффективнее местами. Одно...

Vector . push_back - C++
Доброго времени суток! Помогите пожалуйста поправить код!! #include &lt;vector&gt; #include &lt;iostream&gt; using namespace std; ...

Push_back и стандарт С++ - C++
vector&lt;int&gt; vA; vA.push_back(s); В случае, если в vA нет свободного места, выделяется новое, старые данные перемещаются в новую...

Ошибка push_back() в vector - C++
Доброго времени суток. Сразу код : #include &quot;stdafx.h&quot; #include &quot;expat.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

Про list push_back - C++
list &lt;int&gt; temp; temp.push_back(3); temp.push_back(2); temp.push_back(1); list &lt;int&gt;::iterator iter = temp.begin(); for(int...

8
DrOffset
7517 / 4513 / 1025
Регистрация: 30.01.2014
Сообщений: 7,362
28.01.2015, 23:46 #2
Terawatt93, числа в формате с плавающей точкой от 1 до 6. Ноль (1.0) после точки можно опускать(1.), это синтаксически допустимо.
0
hoggy
6854 / 3051 / 524
Регистрация: 15.11.2014
Сообщений: 6,924
Завершенные тесты: 1
28.01.2015, 23:55 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Terawatt93 Посмотреть сообщение
Подскажите пожалуйста, что все-таки может помещать такая конструкция в JcikList?
Следующие записи эквиваленты:
C++
1
2
3
 1.;
 1.0;
 1.0d;
Это три разные формы записи одного и того же значения типа double
0
Terawatt93
0 / 0 / 0
Регистрация: 23.02.2014
Сообщений: 13
29.01.2015, 09:25  [ТС] #4
Спасибо большое!
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
29.01.2015, 19:51 #5
hoggy, а разве суффикс d - не расширение компилятора GCC?
Bash
1
2
3
main.cpp:6:13: warning: suffix for double constant is a GCC extension
  double d = 1.0d;
             ^
0
hoggy
6854 / 3051 / 524
Регистрация: 15.11.2014
Сообщений: 6,924
Завершенные тесты: 1
29.01.2015, 20:14 #6
Цитата Сообщение от castaway Посмотреть сообщение
hoggy, а разве суффикс d - не расширение компилятора GCC?
Ну вообще да, расширение.

Если по стандарту, тогда:


C++
1
2
3
4
5
 1.0;  //<--- double   (без буковки)
 1.0f; // <--- float
 
 1.;  //<--- double   (без буковки)
 1.f;  //<--- float
0
Croessmah
Ушел
13777 / 8027 / 926
Регистрация: 27.09.2012
Сообщений: 19,770
Записей в блоге: 3
Завершенные тесты: 1
29.01.2015, 20:20 #7
ну еще добавим long double:
C++
1
2
3
4
1.0l ;
1.0L ;
1.l ;
1.L ;
1
Terawatt93
0 / 0 / 0
Регистрация: 23.02.2014
Сообщений: 13
29.01.2015, 21:30  [ТС] #8
Croessmah, прошу прощенья за глупый вопрос, но зачем нужны эти суффиксы, если они, по сути дела, дублируют объявление типа переменной?
0
Croessmah
Ушел
13777 / 8027 / 926
Регистрация: 27.09.2012
Сообщений: 19,770
Записей в блоге: 3
Завершенные тесты: 1
29.01.2015, 21:51 #9
Цитата Сообщение от Terawatt93 Посмотреть сообщение
если они, по сути дела, дублируют объявление типа переменной?
Они ничего не дублируют. Они задают тип литерала.
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>
 
void foo(float)
{
    std::cout << "foo(float)" << std::endl ;
}
 
void foo(double)
{
    std::cout << "foo(double)" << std::endl ;
}
 
void foo(long double)
{
    std::cout << "foo(long double)" << std::endl ;
}
 
 
int main() {
    foo(1.0f) ;
    foo(1.0) ;
    foo(1.0l) ;
}
0
29.01.2015, 21:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2015, 21:51
Привет! Вот еще темы с ответами:

Ошибки в push_back и pop_back - C++
Задали финальный проект на Linked List, но тему эту по сути не очень хорошо успела освоить. Знаю что есть несколько ошибок в push_back и...

Std push_back сумасшедший! - C++
Здрасьте, приятели по несчастью! У меня проблема. Не спрашивайте зачем мне это надо и почему, просто объясните почему так происходит. У...

list.push_back ошибка! - C++
Только начинаю писать на C++. Помогите пожалуйста разобраться в ламерской ошибке! В классе инициализирую list&lt;CProgressCtrl&gt;. Затем в...

push_back() and vector of classes - C++
Добрый вечер! Есть код следующего вида: class topic_message { public: char* name_topic; message ** messages; ...


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

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

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