Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

Что значит знак ~ перед именем функции? И что он значит вообще?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 20:05     Что значит знак ~ перед именем функции?
Посмотрите здесь:

C++ Амперсанд перед именем функции
C++ Что значит знак -> в с++
Sleep(8000) - что значит? На что можно заменить в борланд с++? C++
C++ Знак _ перед функцией
C++ Совсем пустяковая проблема в функции - говорит что пропущен знак ";"
Разобрать структуру с именем ZNAK, содержащую поля: фамилия, имя, знак зодиака, дата рождения C++
C++ Что значит вычислить значение функции с заданной точностью?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 2
Завершенные тесты: 1
23.11.2012, 20:07     Что значит знак ~ перед именем функции? #2
Функция в классе и с названием класса?
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5818 / 1216 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
23.11.2012, 22:02     Что значит знак ~ перед именем функции? #3
Деструктор
DU
1479 / 1055 / 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;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
23.11.2012, 22:19     Что значит знак ~ перед именем функции? #5
Цитата Сообщение от DU Посмотреть сообщение
~f;
но это не перед именем функции.
Впрочем, если рассматривать ~ как оператор, то он может быть перегружен и возвращать что угодно.
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

это оно типа ноль посчитало чтоли
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,308
23.11.2012, 22:26     Что значит знак ~ перед именем функции? #7
Цитата Сообщение от time123 Посмотреть сообщение
flags = 123
inverted flags = -124
прочитай про инверсию битов
да и в десятичной записи говорить про инверсию как то странно
DU
1479 / 1055 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.11.2012, 22:27     Что значит знак ~ перед именем функции? #8
[0 ... 123] - 124 разных значения
[-1 ... -124] - тоже 124 разных значения.
смотрите как представлены отрицательные числа в бинарном виде.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 2
Завершенные тесты: 1
23.11.2012, 22:27     Что значит знак ~ перед именем функции? #9
Цитата Сообщение от time123 Посмотреть сообщение
это оно типа ноль посчитало чтоли
А не должно было? Это операция побитовая.
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);
что здесь значат символы "::"?
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,308
23.11.2012, 22:40     Что значит знак ~ перед именем функции? #11
Цитата Сообщение от time123 Посмотреть сообщение
что здесь значат символы "::"?
глобальная функция
прочитай про область видимости
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 2
Завершенные тесты: 1
23.11.2012, 22:40     Что значит знак ~ перед именем функции? #12
текущее пространство имен (ну естественно со всем включенными)
DU
1479 / 1055 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.11.2012, 22:43     Что значит знак ~ перед именем функции? #13
использовать функцию из глобального пространства имен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 22:46     Что значит знак ~ перед именем функции?
Еще ссылки по теме:

Опишите структуру с именем Znak (Знак Зодиака) C++
C++ Что значит ":" после параметров функции
Что означает знак & в объявлении функции C++
Знак Указателя перед именем функции C++
Что значит & на конце параметра в функции? C++

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

Или воспользуйтесь поиском по форуму:
time123
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 53
23.11.2012, 22:46  [ТС]     Что значит знак ~ перед именем функции? #14
глобальная функция
прочитай про область видимости
читал... теперь понятно.
Yandex
Объявления
23.11.2012, 22:46     Что значит знак ~ перед именем функции?
Ответ Создать тему
Опции темы

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