Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2010, 18:50   #1
Gtx541
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 24
Восклицание Почему такой код возможен и сколько выделится памяти?

Код:
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
	char * text = new char [];
	_getch();
	return 0;
}
Gtx541 вне форума Ответить с цитированием
Старый 13.06.2010, 19:49   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

в правильных компиляторах такой код не возможен
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 13.06.2010, 22:58   #3
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Gtx541 Посмотреть сообщение
Почему такой код возможен
Потому что в стандарте C++ есть пункт 5.3.4.7.
Vago вне форума Ответить с цитированием
Старый 14.06.2010, 16:45   #4
FPU128bit
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 11
По умолчанию

У меня на VC++2008 выделяется 0 байт

Код:
#include "stdafx.h"

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

#include <iostream>
#include <conio.h>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	char * text = new char [];
	_getch();
	_CrtDumpMemoryLeaks();
	return 0;
}
если в скобки добавить цифру, вот столько памяти и выделяется

Последний раз редактировалось MaTBeu; 14.06.2010 в 17:43.
FPU128bit вне форума Ответить с цитированием
Старый 14.06.2010, 17:14   #5
alex_alpha
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 43
По умолчанию

Цитата:
Сообщение от FPU128bit Посмотреть сообщение
У меня на VC++2008 выделяется 0 байт

#include "stdafx.h"

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

#include <iostream>
#include <conio.h>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
char * text = new char [];
_getch();
_CrtDumpMemoryLeaks();
return 0;
}

если в скобки добавить цифру, вот столько памяти и выделяется
Очень странно, что у Вас выделяется память. У меня ошибку выдает.
alex_alpha вне форума Ответить с цитированием
Старый 16.06.2010, 19:38   #6
Gtx541
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 24
По умолчанию

У меня тоже VC++2008, в нём программа с таким кодом прекрасно запускается и не выдает никаких ошибок.
Gtx541 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему такой результат? True_girl Помощь студентам 3 17.04.2010 21:14
Почему выдаёт такой результат??? bloodeagle Помощь студентам 1 12.11.2009 08:21
Возможен такой скрипт ??? sasha14486 PHP 4 15.06.2009 10:58
В такой код можно внедрить скрипт? nikleb PHP 1 05.07.2008 21:00