Можно ли так писать ?
От: Аноним  
Дата: 28.01.05 12:10
Оценка:
char *f()
{
   static char s[100];
   ....
   return s;
}
char *s = f();


Сабж
Re: Можно ли так писать ?
От: Vamp Россия  
Дата: 28.01.05 12:13
Оценка:
Можно.
Да здравствует мыло душистое и веревка пушистая.
Re: Можно ли так писать ?
От: SparkWeber  
Дата: 28.01.05 12:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>
А>char *f()
А>{
А>   static char s[100];
А>   ....
А>   return s;
А>}
А>char *s = f();
А>


А>Сабж


Можно конечно.
Локальная переменная s отличается от глобальной переменной s того же типа.
Другой разговор, зачем вам надо получать указатель на static локальную переменную, когда можно завести глобальную и с ней работать.
Т.е. в вашем случае локальное определение вообще выбросить, а глобальное изменить с
char *s;

на
char s[100];
Re[2]: Можно ли так писать ?
От: Аноним  
Дата: 28.01.05 21:45
Оценка:
Здравствуйте, SparkWeber, Вы писали:

SW>Другой разговор, зачем вам надо получать указатель на static локальную переменную, когда можно завести глобальную и с ней работать.


Ну мало ли...
Например, те же популярные ныне сингелтоны
очень часто реализуются именно такой техникой.
Re[3]: Можно ли так писать ?
От: yxiie Украина www.enkord.com
Дата: 29.01.05 08:07
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Ну мало ли...

А>Например, те же популярные ныне сингелтоны
А>очень часто реализуются именно такой техникой.

поэтому и существуют кучи потоко-не-безопасных синглтонов.
... << RSDN@Home 1.1.3 stable >>
Re[4]: Можно ли так писать ?
От: WolfHound  
Дата: 29.01.05 12:57
Оценка:
Здравствуйте, yxiie, Вы писали:

Y>поэтому и существуют кучи потоко-не-безопасных синглтонов.

Вот здоровый флейм на эту тему
thread safe singlton &mdash; возможно ли такое в принципе
Автор: Andrew S
Дата: 06.02.04

Тут решение
Re: thread safe singlton &mdash; возможно ли такое в принципе
Автор: WolfHound
Дата: 06.02.04
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.