Понедельник, 11 Ноября 2024, 03:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 12
  • 1
  • 2
  • 3
  • 11
  • 12
  • »
Результаты поиска
SWFcreatorДата: Пятница, 09 Ноября 2012, 20:11 | Сообщение # 1 | Тема: долбаные печеньки!!
участник
Сейчас нет на сайте
andarky, переходи на семечки, не до печенек будет.
SWFcreatorДата: Суббота, 03 Ноября 2012, 22:21 | Сообщение # 2 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Ладно, спасибо в любом случае.
SWFcreatorДата: Суббота, 03 Ноября 2012, 21:48 | Сообщение # 3 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Но ведь она только с виду локальная smile , она все равно существует в памяти, так почему бы ее не изменить? Идея в том, что бы 1 раз завязать указатели на одну переменную, а потом использовать значения локальных указателей. Есть идея добавить функциям дополнительный необязательный параметр, указателям присвоить его и один раз вызвать функции с ним. Сделать макросы без дополнительного параметра и использовать дальше их, но это уже как-то криво.
SWFcreatorДата: Суббота, 03 Ноября 2012, 21:12 | Сообщение # 4 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Всем привет! Есть вопрос к хорошо знающим С людям. Есть переменная, одна функция ее изменяет, другая использует. Никакой связи между функциями нет. Функции выполняются как события. Очевидно, что переменная должна быть глобальной. Но мне интересно организовать это без глобальности, так чтоб другие функции ее не видели. Просто интересно, если хотите, считайте это моей причудой smile . Пример абстрактный, в проге немного не так. Вот моя идея:
Code

    void init(void)
    {
      static int a, b;       //static чтобы не удалились после выполнения init
      func_a::a = &a;
      func_b::b = &b;
      //добавить функции как обработчики событий
    }

    void func_a(void)
    {
      static int *a;
      printf("%i\n", *a)
    }

    void func_b(void)
    {
      static int *b;
      *b = *b + 10;
    }

    int main(void)
    {
      init();
      loop();
      return 0;
    }

Вопрос:
я хотел бы сделать так, но 2-я и 3-я строчки из init() некорректные. Как инициализировать статик переменную функции из другой функции? В С++ статик переменные класса можно изменять, а как в С? Есть возможность?


Сообщение отредактировал SWFcreator - Суббота, 03 Ноября 2012, 21:12
SWFcreatorДата: Пятница, 02 Ноября 2012, 23:56 | Сообщение # 5 | Тема: [2D] Forest Owl
участник
Сейчас нет на сайте
_LeVoID_, ай красота! Мягко так и не напрягает глаз. Жду демки!

Сообщение отредактировал SWFcreator - Пятница, 02 Ноября 2012, 23:57
SWFcreatorДата: Вторник, 30 Октября 2012, 16:23 | Сообщение # 6 | Тема: Да,но...
участник
Сейчас нет на сайте
да, но я заварю еще.
SWFcreatorДата: Воскресенье, 28 Октября 2012, 18:11 | Сообщение # 7 | Тема: GroTesk[Gamiron 2]
участник
Сейчас нет на сайте
Логотип шикарен!
SWFcreatorДата: Вторник, 23 Октября 2012, 01:32 | Сообщение # 8 | Тема: [2D] Physion Ball
участник
Сейчас нет на сайте
Я один не понял, причем тут Unix?
SWFcreatorДата: Вторник, 23 Октября 2012, 01:12 | Сообщение # 9 | Тема: Свои фото
участник
Сейчас нет на сайте
Вот я, довольный как слон.


Сообщение отредактировал SWFcreator - Вторник, 23 Октября 2012, 01:12
SWFcreatorДата: Вторник, 25 Сентября 2012, 15:37 | Сообщение # 10 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Archido, знаю, я на С++ дальше наследования не зашел, потому фактически использую С и стараюсь компилировать GCC, если не нужны классы. А когда нужны - вот так и делаю.
SWFcreatorДата: Вторник, 25 Сентября 2012, 14:41 | Сообщение # 11 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Нохчи, я с Линуксом играюсь.
Archido, Спасибо. Да, в Линуксе заменил int на long и заработало. Когда меняю тип массива или убираю деструктор - выдает число, которое я получал раньше.

Добавлено (25.09.2012, 14:41)
---------------------------------------------
жаль sad , что нельзя узнать размер любого массива

SWFcreatorДата: Понедельник, 24 Сентября 2012, 20:08 | Сообщение # 12 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
b у меня нарочно long, он везде 4 байта, в отличие от int. Попробовал с разным числом элементов на G++. Странно, число почти всегда выдавало или 8 или 12 при кол-ве элементов от 2 до 11.

Добавлено (24.09.2012, 19:57)
---------------------------------------------
Вроде и не рандомное, но бессмысленное smile . Чувствую себя детективом cool biggrin

Добавлено (24.09.2012, 20:06)
---------------------------------------------
Проверил, я в шоке:
long - 8, int - 4(!!!), short - 2.
теперь использую int - a[-1] == 0.

Добавлено (24.09.2012, 20:08)
---------------------------------------------
от short я этого и ждал, long - пускай, у меня x64, но int вроде как должен совпадать с одним из них.

Сообщение отредактировал SWFcreator - Понедельник, 24 Сентября 2012, 19:59
SWFcreatorДата: Понедельник, 24 Сентября 2012, 19:39 | Сообщение # 13 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
То есть, я могу просто взять long *, присвоить ему любой дин. массив, приведенный к int *, сместить его назад и узнать размер?

Добавлено (24.09.2012, 19:36)
---------------------------------------------
Не получается, там записано 241 вместо 55 (от фонаря взял массив - 55 интов). Поделил на sizeof(int) - 60, уже ближе. Итак, чувствую, что это он, но почему 60?

Добавлено (24.09.2012, 19:39)
---------------------------------------------
Code

#include <iostream>

int main()
{
int *a = new int[55];
long *b = (long *) a;
b--;
std::cout << *b / sizeof (int) << std::endl;                             //60 != 55
return 0;
}


Сообщение отредактировал SWFcreator - Понедельник, 24 Сентября 2012, 19:40
SWFcreatorДата: Понедельник, 24 Сентября 2012, 19:05 | Сообщение # 14 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Всем привет. Вот такой вопрос у меня: при создании массива оператором new[], delete[] точно знает сколько элементов удалить. Откуда??? Где это храниться и как это узнать? В интернете мало что нашел, в основном, что хранится где-то возле массива. На любимый вопрос - зачем тебе надо - сразу отвечу: конкретно низачем, так интересно и может пригодиться.
SWFcreatorДата: Воскресенье, 09 Сентября 2012, 10:41 | Сообщение # 15 | Тема: Напишем сказку :P
участник
Сейчас нет на сайте
Я же им не запрещаю biggrin . Пусть пишут свой бред дальше.
SWFcreatorДата: Суббота, 08 Сентября 2012, 15:28 | Сообщение # 16 | Тема: Напишем сказку :P
участник
Сейчас нет на сайте
ShuckingFit, поддерживаю. Бред какой-то.
SWFcreatorДата: Понедельник, 03 Сентября 2012, 20:14 | Сообщение # 17 | Тема: Специальности в ВУЗах
участник
Сейчас нет на сайте
Сегодня в первый день учебы спросил у нового препода программирования о переходе на программную инженерию. Она сказала: "Hе ходи, она не так востребована как компьютерная."
SWFcreatorДата: Понедельник, 03 Сентября 2012, 20:07 | Сообщение # 18 | Тема: Мудрые цитаты игроделов
участник
Сейчас нет на сайте
Можешь собой гордиться.
SWFcreatorДата: Понедельник, 03 Сентября 2012, 19:58 | Сообщение # 19 | Тема: Запрет "Ну, погоди"
участник
Сейчас нет на сайте
Quote (FirestorM)
Есть только четыре канала, которые можно смотреть - Discovery, National Geographic, Viasat History и Viasat Explorer.

Не всем smile , где-то слышал, что у нас в Украине закрывают National Geographic за рекламу алкоголя wacko . Интересно, там что жирафа бухает.
SWFcreatorДата: Понедельник, 03 Сентября 2012, 19:53 | Сообщение # 20 | Тема: Зубы игроделов (состояние зубов, количество пломб и т.п)
участник
Сейчас нет на сайте
2 пломбы и большая щель между передними зубами, хотя они не кривые. А что, кому-то это действительно интересно?
  • Страница 1 из 12
  • 1
  • 2
  • 3
  • 11
  • 12
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг