информационная безопасность
без паники и всерьез
 подробно о проекте
Сетевые кракеры и правда о деле ЛевинаЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 PHP2Shell начали эксплуатировать... 
 Четыре уязвимости Plex объединяют... 
 Вредоносный релиз LiteLLM 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ни @#$а себе схемка!! ;-)). Посмотри то что тебе XR накатал и сравни со своей схемой. Похоже? ;-)). 28.08.01 19:55  Число просмотров: 937
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
> и я прекрасно понимал что она даже близко в таком виде
> работать не будет!!!
Так нахрена такая схема, если она даже близко работать не будет? Если она не верна в корне ((c) В. И. Ленин). XR тебе написал правильное решение твоей проблемы, но дело в том, что с твоей схемой оно ничего общего не имеет. Поэтому я и смеялся столько ;-))))))). Более разумным было бы с твоей стороны вообще не предлагать никаких схем а просто задать вопрос.
<programming>
Супер динамическое выделение памяти под массив 28.08.01 17:14  
Автор: dinamo Статус: Незарегистрированный пользователь
<"чистая" ссылка>
char *mas;
mas=new chat[SIZE];
это как вы понимаите мы просто динамически выделели размер массива
а мне необходимо кроме этого выделить динамически и имя массива
имена скажем такого плана massiv0, massiv1, massiv2, massiv3, massiv4, massiv5, massiv6
что то подобное можно сделась в VB (как мне кажется) ну а как насчет С/Visual С++
схематический текст программы
cin>>x;
for(int i=0;i<x;i++)
{
char *massiv+i;
massiv+i=new char[SIZE];
}
возможно ли такой ???
Вопрос на засыпку всем знатокам с++ (более правельная формулировка вопроса) 28.08.01 23:48  
Автор: dinamo Статус: Незарегистрированный пользователь
<"чистая" ссылка>
схематически это должно выглядить так
i=0;
cin>>x;
if(x)break;
massiv+i;//тут у него название massiv1
...
i++;
cin>>x;
if(x)break;
massiv+i;//тут у него название massiv2
i++;
...
cin>>x;
if(x)break;
massiv+i; //тут у него название massiv3
i++;
...

т.е. программа в любой момент может завершится и число динамических массивов точно неизвестно
т.е. необходим ПРИНЦИП ФОРМИРОВАНИЯ ИМЕН ПЕРЕМЕННЫХ ИЛИ МАССИВОМ
чтобы их имена состояли из 2-х частей 1)ИМЯ 2)ЧИСЛО
т.е. massiv1, massiv2, massiv3, massiv4
ну так как такая задача решима или нет???
Вопрос на засыпку не знатоку с++ 30.08.01 01:19  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
2 All :
Приколисты хреновы ;-)))

атору :
а можешь объяснить зачем тебе "динамическая" переменная и как ты ее применять будешь, т.е. с чем и как ты ее "есть" собираешься? типа -
if (exist(massive_X))
     do_something();
else
    do_anything();

---
приблизительно такое получается что ли?
если сумеешь ответить на вопрос и объяснишь каким образом ты ее использовать будешь, то будь уверен, что найдутся 1000, которые тут же приведут тебе 1000 примеров. объясни механизм "if (exist(massive_X))".
посторайся понять чего тебе надо.

P.S. не обижайся конечно, но это не вопрос на засыпку. это даже не вопрос, а скорее всего анекдот.

2 XR:
того кто создал ВАСИК пристрелить надо. народу мозги мутит.
Все-таки этому есть применение - в компиляторах. 30.08.01 07:04  
Автор: Бяша <Biasha> Статус: Member
<"чистая" ссылка>
Да. У Страуструпа в книге даже как часть примера. 29.08.01 02:35  
Автор: Бяша <Biasha> Статус: Member
<"чистая" ссылка>
Не мог бы ты указать в какой главе именно? 29.08.01 18:54  
Автор: Даун Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Забавно не в плане "супердинамических массивов" конечно, а в создании имен переменных "на лету"
Вероятно, сие возможно тока в интерпретаторах - Perl eval(), Python exec() и т.п.
А как это планируется в C++ - слабо представляется.
такое как //char *massiv+i;// не слопает компилятор, какие бы там операторы не перегружались.
Если же это возможно - интересно взгянуть!
Не мог бы ты указать в какой главе именно? 30.08.01 07:09  
Автор: Бяша <Biasha> Статус: Member
<"чистая" ссылка>
3.1.3 Таблица имен
Короче там, где про калькулятор. Он ещё долго потом улучшает в следующих главах.

> А как это планируется в C++ - слабо представляется.
> такое как //char *massiv+i;// не слопает компилятор, какие
> бы там операторы не перегружались.
> Если же это возможно - интересно взгянуть!

Ну, я имел в виду нечто такое:
#include <iostream.h>
struct CName { int a; };
int& operator+(CName &name, int a){ return name.a; }
int main()
{
	int i = 1;
	CName name = {2};
	name+i = 3; // о чём я собственно и говорил
	cout << "i="<< i << " name.a=" << name.a;
	return 0;
}

---
В класс можно добавить ещё char* и поля next, prev. Плюсиком по ним какой-то поиск делать, и выдавать нужный инт.
ну а более конкретно??? 29.08.01 10:54  
Автор: dinamo Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Может я и не большой знаток... 29.08.01 01:07  
Автор: Хунтер Статус: Незарегистрированный пользователь
<"чистая" ссылка>
После того, как твоя прога на сипипи откомпилится, никакихименпеременных в ней не останется. Слова "massiv" ты в ней не найдешь, поэтому сама проблема динимического выделения переменнымименнесостоятельна. Забудь ты васик, тут все по-другому. Делай как тебе XR написал.
;))) 28.08.01 17:59  
Автор: XR <eXtremal Research> Статус: The Elderman
<"чистая" ссылка>
> char *mas;
> mas=new chat[SIZE];
> это как вы понимаите мы просто динамически выделели размер
> массива
> а мне необходимо кроме этого выделить динамически и имя
> массива
> имена скажем такого плана massiv0, massiv1, massiv2,
> massiv3, massiv4, massiv5, massiv6
> что то подобное можно сделась в VB (как мне кажется) ну а
> как насчет С/Visual С++
> схематический текст программы
> cin>>x;
> for(int i=0;i<x;i++)
> {
> char *massiv+i;
> massiv+i=new char[SIZE];
> }
> возможно ли такой ???


Чаво токо не услышишь от пионеров_и_школьников подсевших на ВАСИК :)))


char** array=new char* [x];
for(int i=0;i<x;i++)
array[i] = new char [SIZE];
обращаться к массиву так:

array[i][j];


Ну ты сравнил!!! VB и VC ;-)))))))))))))))))))))))). 28.08.01 17:24  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
> что то подобное можно сделась в VB (как мне кажется) ну а
> как насчет С/Visual С++
> схематический текст программы
> cin>>x;
> for(int i=0;i<x;i++)
> {
> char *massiv+i;
> massiv+i=new char[SIZE];
> }
> возможно ли такой ???
Ты представляешь что при этом получится? Во-первых когда ты пишешь имя_одной_переменной + имя_другой, получается сумма их значений а не конкатенация имен ;-))))). поэтому char *massiv+i; - вообще ахинея которую компилер не пропустит. massiv+i = new char[SIZE]; тоже не прокатит, при определенных усилиях конечно можно заставить нечто подобное работать, только результат будет такой, что лучше б он не работал ;-))). Фактически память размером size выделится под указатель на область памяти, начинающуюся с адреса [massiv+i];А что получится в результате - догадайся сам ;-)).
P.S. я конечно понимаю что смех продлевает жизнь, но не надо так больше меня смешить ;-))).
Ну уж нет..! 29.08.01 02:45  
Автор: Бяша <Biasha> Статус: Member
<"чистая" ссылка>
> > что то подобное можно сделась в VB (как мне кажется)
> ну а
> > как насчет С/Visual С++
> > схематический текст программы
> > cin>>x;
> > for(int i=0;i<x;i++)
> > {
> > char *massiv+i;
> > massiv+i=new char[SIZE];
> > }
> > возможно ли такой ???

> Ты представляешь что при этом получится? Во-первых когда ты
> пишешь имя_одной_переменной + имя_другой, получается сумма
> их значений а не конкатенация имен ;-))))). поэтому char
Не факт...
Например, он определит сложение имени с интом, выдающее ссылку на что-то.

> P.S. я конечно понимаю что смех продлевает жизнь, но не
> надо так больше меня смешить ;-))).
Конечно это всё глупость, но заставить это работать (даже правильно работать) можно! :)
Ну уж нет..! 29.08.01 11:47  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
> Не факт...
> Например, он определит сложение имени с интом, выдающее
> ссылку на что-то.
Я имел ввиду в общем случае, понятно можно "+" пергрузить чтоб он че угодно там делал.

>
> > P.S. я конечно понимаю что смех продлевает жизнь, но
> не
> > надо так больше меня смешить ;-))).
> Конечно это всё глупость, но заставить это работать (даже
> правильно работать) можно! :)
Так я и сказал что заставить это работать можно. Только работать это будет так, что лучше б не работало вообще.
Ну ты сравнил!!! VB и VC ;-)))))))))))))))))))))))). 28.08.01 18:48  
Автор: 1 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
смейся смеяся!!!
просто тебе надо быть более внимательным при прочтении вопроса.
это был не просто текст программы.
а как там сказанно " схематический текст программы "
и я прекрасно понимал что она даже близко в таком виде работать не будет!!!
надеюсь ты понимаеш разницу !!!???
Ни @#$а себе схемка!! ;-)). Посмотри то что тебе XR накатал и сравни со своей схемой. Похоже? ;-)). 28.08.01 19:55  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
> и я прекрасно понимал что она даже близко в таком виде
> работать не будет!!!
Так нахрена такая схема, если она даже близко работать не будет? Если она не верна в корне ((c) В. И. Ленин). XR тебе написал правильное решение твоей проблемы, но дело в том, что с твоей схемой оно ничего общего не имеет. Поэтому я и смеялся столько ;-))))))). Более разумным было бы с твоей стороны вообще не предлагать никаких схем а просто задать вопрос.
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach