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

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

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

Что значит знак ~ перед именем функции? - C++

23.11.2012, 20:05. Просмотров 1092. Ответов 13
Метки нет (Все метки)

Что значит знак ~ перед именем функции? И что он значит вообще?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 20:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что значит знак ~ перед именем функции? (C++):

Знак Указателя перед именем функции - C++
Не могу понять с какой целью перед именами функций стоит знак указателя в книге? Скрин: {ссылка вырезана} Pdf во вложении Да, и...

Что значит знак -> в с++ - C++
Начал изучать классы и никак немогу найти инфу о символе -> непонятно что он значит вот пример где он применяется // ...

Амперсанд перед именем функции - C++
Недавно столкнулся с таким представлением функции: double &re(void) Так и не понял, зачем ставится амперсанд перед именем. Адрес...

Что значит & на конце параметра в функции? - C++
void process_array (IntArray&); Если здесь идет обращение к адресу объекта в ячейке памяти, то почему он не стоит перед самим...

Что значит вычислить значение функции с заданной точностью? - C++
Например, дана функция cosx/x и какая-либо точность. Как вычислить значение функции с заданной точностью? Нужен скорее не сам код (но для...

Что означает знак & в объявлении функции - C++
Здравствуйте, в обучающих статьях о С++ наткнулся на очень интересную синтаксическую конструкцию. Не совсем разобрался с указателями и...

13
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
23.11.2012, 20:07 #2
Функция в классе и с названием класса?
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
23.11.2012, 22:02 #3
Деструктор
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.11.2012, 22:06 #4
еще это может быть инверсия резултата, возвращаемого функцией:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream> 
 
unsigned flags()
{
  return 0xff;
}
 
 
int main()
{
  std::cout << std::hex <<  "flags = " << flags() << std::endl;
  std::cout << std::hex << "inverted flags = " << ~flags() << std::endl;
 
  unsigned f = flags();
  unsigned invertedF = ~f; // можно сразу ~flags();
 
 
  return 0;
}
0
Kuzia domovenok
1950 / 1803 / 139
Регистрация: 25.03.2012
Сообщений: 6,245
Записей в блоге: 1
23.11.2012, 22:19 #5
Цитата Сообщение от DU Посмотреть сообщение
~f;
но это не перед именем функции.
Впрочем, если рассматривать ~ как оператор, то он может быть перегружен и возвращать что угодно.
0
time123
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
23.11.2012, 22:24  [ТС] #6
хм...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int flags()
{
  return 123;
}
 
 
int main()
{
  std::cout << "flags = " << flags() << std::endl;
  std::cout << "inverted flags = " << ~flags() << std::endl;
 
 
  return 0;
}
пишет

flags = 123
inverted flags = -124

это оно типа ноль посчитало чтоли
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,188
23.11.2012, 22:26 #7
Цитата Сообщение от time123 Посмотреть сообщение
flags = 123
inverted flags = -124
прочитай про инверсию битов
да и в десятичной записи говорить про инверсию как то странно
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.11.2012, 22:27 #8
[0 ... 123] - 124 разных значения
[-1 ... -124] - тоже 124 разных значения.
смотрите как представлены отрицательные числа в бинарном виде.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
23.11.2012, 22:27 #9
Цитата Сообщение от time123 Посмотреть сообщение
это оно типа ноль посчитало чтоли
А не должно было? Это операция побитовая.
0
time123
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
23.11.2012, 22:38  [ТС] #10
не совсем в тему, но тем не менее, вот такой кусок кода:

C++
1
2
3
4
if (hInternet != NULL)
            HINTERNET hOpenUrl = ::InternetOpenUrl(hInternet, TEXT(httpstr), NULL, 0, INTERNET_FLAG_PRAGMA_NOCACHE, NULL);
 
        ::InternetCloseHandle(hInternet);
что здесь значат символы "::"?
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,188
23.11.2012, 22:40 #11
Цитата Сообщение от time123 Посмотреть сообщение
что здесь значат символы "::"?
глобальная функция
прочитай про область видимости
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
23.11.2012, 22:40 #12
текущее пространство имен (ну естественно со всем включенными)
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.11.2012, 22:43 #13
использовать функцию из глобального пространства имен.
0
time123
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
23.11.2012, 22:46  [ТС] #14
глобальная функция
прочитай про область видимости
читал... теперь понятно.
0
23.11.2012, 22:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 22:46
Привет! Вот еще темы с ответами:

Знак _ перед функцией - C++
Читал книгу Страуструпа и наткнулся на интересную вещь: он ставил _ перед функцией. Можете объяснить, что делает этот знак? И можно еще...

Опишите структуру с именем Znak (Знак Зодиака) - C++
Опишите структуру с именем ZNAK, содержащую следующие поля: 1) фамилия, имя; 2) знак Зодиака; 3) год рождения; Написать программу,...

Что значит ":" после параметров функции - C++
CSimpleString::CSimpleString(const char* p) : len(0), buff(nullptr) Что значит len(0), buff(nullptr) и как это называется ?

Совсем пустяковая проблема в функции - говорит что пропущен знак ";" - C++
Всем доброго здравия! Извините если чего не так.. Мы простые, деревенские.. В общем, всё просто. Я взял функцию из этого...


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

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

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