Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Alexei9
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 4
#1

Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости - C++

05.06.2015, 09:47. Просмотров 3154. Ответов 11
Метки нет (Все метки)

для чего нужен оператор двоеточие ( : ), если два двоеточия( :: ) - это оператор расширения области видимости.
http://www.cyberforum.ru/cpp-beginners/thread424643.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2015, 09:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости (C++):

Нюансы синтаксиса: для чего нужен оператор ->
Здравствуйте совсем недавно столкнулся с вот таким вот оператором. -> ....

Заменить оператор goto на цикл, если это возможно
Есть простой таймер #include <cstdlib> #include <iostream> #include...

Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1
В С++ я ноль, помогите пожалуйста написать прогу Написать программу,...

Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять.
Для чего нужно писать в int main() в скобках всякие args потом объявлять...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Помогите в следующем: Для класса шаблона следует перегрузить оператор...

11
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,183
Завершенные тесты: 1
05.06.2015, 10:04 #2
Например
C++
1
2
3
4
5
struct A
{
    int n;
    A():n(0){}
};
1
DrOffset
7517 / 4513 / 1097
Регистрация: 30.01.2014
Сообщений: 7,362
05.06.2015, 11:18 #3
Лучший ответ Сообщение было отмечено Alexei9 как решение

Решение

Цитата Сообщение от Alexei9 Посмотреть сообщение
оператор двоеточие
В С++ нет такого оператора. Стандарт не дает ему названия, можно считать, что это просто синтаксический разделитель.
Он используется в множестве мест в зависимости от контекста.
Как составная часть тернарного оператора
C++
1
int c = a < b ? a : b;
Как обозначение начала списка инициализации конструктора
C++
1
2
SomeClass() : a(1), b(2) 
{}
Как разделитель, обозначающий начало списка базовых классов при указании наследования
C++
1
2
3
class SomeClass1 : public BaseClass1 {};
 
class SomeClass2 : public BaseClass1, public BaseClass2 {};
Как способ указания размерности битового поля
C++
1
2
3
4
struct A
{
    int a : 2;
};
Как синтаксис задания типа в enum class (С++11)
C++
1
2
3
4
enum : int
{
    EN1, EN2
};
Как разделитель между for-range-declaration и expression в range-based for(C++11)
C++
1
2
for(int & a : vec) {
//.....
Добавлено через 24 минуты
Еще два варианта использования забыл упомянуть:
Как окончание спецификатора доступа класса
C++
1
2
3
4
5
class A
{
public:
    void func();
};
Как окончание декларации метки для goto
C++
1
2
3
4
5
    goto mylabel;
 
///.....
mylabel:
     func();
Или меток в конструкции switch - case
C++
1
2
3
4
5
6
7
8
switch(a)
{
case 1:
    //.....
    break;
default:
    ;
};
5
Alexei9
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 4
05.06.2015, 12:01  [ТС] #4
спасибо
0
Alexei9
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 4
16.06.2015, 19:18  [ТС] #5
в чем разница между : (двоеточие) и :: (двойное двоеточие) в языке С++
0
Velesthau
524 / 426 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
16.06.2015, 19:23 #6
в одном :
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
16.06.2015, 19:32 #7
Примерно такая же, как между 'Государем' и 'милостивым государем'.

':' - это разделитель (после метки, в тернарном операторе, в структуре итд.).
'::' - оператор области видимости.
1
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,593
16.06.2015, 19:35 #8
Alexei9, неужели здесь вам ответили не достаточно подробно?
http://www.cyberforum.ru/post7721283.html
0
Alexei9
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 4
16.06.2015, 19:37  [ТС] #9
преподавателю этого не хватило...
0
rikimaru2013
C++ Game Dev
2471 / 1140 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
16.06.2015, 20:16 #10
Alexei9, Преподаватель по танцам?
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
16.06.2015, 20:27 #11
У оператора :: не было какой-то самоцели взять что-то и написать два раза подряд. Просто разделители (знаки типа точка, запятая, точка с запятой и т.п.) давным-давно закончились, вот и приходится разработчикам языка изголяться и переиспользовать один и тот же разделитель в разных синтаксических конструкциях. Т.е. символ один и тот же, но несёт разную смысловую нагрузку и по сути дела можно считать, что это символы "двоеточие номер 1", "двоеточие номер 2" и т.п.
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
16.06.2015, 20:34 #12
Цитата Сообщение от Alexei9 Посмотреть сообщение
не хватило
DrOffset дал исчерпывающий ответ.
0
16.06.2015, 20:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2015, 20:34
Привет! Вот еще темы с решениями:

Постфиксный оператор ++, для чего в заголовке присутствует (int)?
Для чего в постфиксных операторах при реализации функции в заголовке стоит...

Каким образом работает побитовое или и для чего этот оператор используется в заданном фрагменте кода?
Добрый день, не сможете объяснить, каким образом работает побитовый оператор...

Как грамотно убрать класс с глобальной видимости, удалив оператор extern?
Пусть есть такие файлы исходного кода: main.cpp: #include &quot;classA.h&quot; ...

Оператор " :: " (Двойное двоеточие)
Доброй ночи! Расскажите пожалуйста что нибудь про этот оператор, и чем он...


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

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

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