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

Можно ли несколько раз делитить область памяти? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задачи по C++ http://www.cyberforum.ru/cpp-beginners/thread387258.html
Пользователь вводит два числа в которых по 200 символов и сумирует их и должен выводица ответ!!
C++ Написать программу для функции Написать программу для функции http://www.cyberforum.ru/cpp-beginners/thread387255.html
Что дальше надо сделать, чтобы увидеть исполняемый код страницы? C++
В Visual C++ открыл тестовую страницу MyFirst.cpp Что дальше надо сделать, чтобы увидеть исполняемый код страницы? Прошу помощи. ВикторК, один вопрос - одна тема. И не надо лезть в чужие темы со своими вопросами.
C++ Из заданной последовательности слов удалить слова, содержащие числа
#include <iostream> #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <string.h> using namespace std; int main() { int dl,i,j,z; char s1="145dfghy5eryyjhdrtywey",s2="",s3="1234567890";
C++ Инициализировать массив http://www.cyberforum.ru/cpp-beginners/thread387222.html
Довольно примитивный вопрос. Помогите инициализировать двумерный массив Aтаблицей 01011 10000 01000 11000 00000 11000 Спасибо...
C++ Как сравнить char и const char? Очередной раз столкнулся с проблемкой, сравнивая объекты из массива (char) нужно сравнить с const char, но в массив я записываю данные с помощью ввода через клавиатуру cin >> buff; и мне нужно сравнить каждый символ в этом массиве делал я так, помещал buff в тело цикла и указал переменную цикла в buff получил ошибку ISO C++ forbids comparison between pointer and integer, почитал в... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.11.2011, 21:47     Можно ли несколько раз делитить область памяти?
Цитата Сообщение от Bers Посмотреть сообщение
Естественно первый вариант
Первый и должен, так как аргумент - число. Но и NULL - тоже число, то есть foo(NULL) вызовет первый вариант, а программист имеет ввиду второй. Если аргумент - переменная указательного типа, то вызовется второй вариант, как и должно быть. Целей может быть много, но в данном случае на самом деле всё таки одна - избавиться от макроса. Почему надо от него избавиться - это уже другой вопрос и проблема со многими аспектами. Возможность ошибочного дефайна - один из них. Второй - вызов перегруженной функции с невалидным указателем, если есть версия c интом. Чтоб не писать
C++
1
2
int *p=NULL;
foo(p);
. Кстати, а как будет здесь:
C++
1
2
3
4
5
6
7
#define NULL (void*)0xFFFF
void foo(int x);
void foo(void *p);
void foo(int *p);
...
foo(0);
foo(NULL);
и здесь:
C++
1
2
3
4
5
6
void foo(int x);
void foo(void *p);
void foo(int *p);
...
foo(0);
foo(nullptr);
? Валидные указаетели все имеют типы, так как являются переменными. Указатель-переменная с невалидным значением тоже имеет тип. А как быть с nullptr? Ведь программист может под этой константой подразумевать невалидный указатель на что угодно, причём ещё и не всегда одно и тоже в разных местах программы.
 
Текущее время: 01:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru