>Здрасти!
>Вопрос такой: есть две строки
>wait_queue_t *my1=NULL:
Это стековый объект, значение my1 будет потеряно после выхода из области видимости данной переменной. Например при возврате из функции.
>static struct wait_queue_t *my2=NULL;
Переменная будет иметь старое значение после возврата в область видимости.
Если же переменная объявлена как static внутри класса, то она становится общей для всех объектов этого класса.
Вообще поведение переменной будет несколько различаться в зависимости от того, была ли она объявлена внутри функции, внутри класса или вне их.
>
>Вопрос: конкретно, чем отличаются типы созданных указателей?
Типы указателей не отличаются. Просто переменные будут размещены в разных областях памяти.
>И вдогону: в каких случаях требуется указывать ключевое слово <struct>
>при объявлнии указателей на структуры?
struct нужно всегда указывать в C и не нужно в C++. Но можно создать новый тип с помощью typedef и обойтись без ключевого слова struct при объявлении указателей.
>
>Также:
>try{
>...
>throw ("MAMA!");
>...
>}catch(const char *error){
>...
>}
>
>Вопрос: почему команда throw приводит к завершению программы по сигналу SIGABRT???
>А для чего тада были писаны каманды try и catch...?
Не понял... Вроде должно работать:
> cat testcatch.cc
#include <iostream.h>
int main( void )
{
try {
throw("Help!");
exit(1);
} catch(const char *error) {
cout << "Received: " << error << endl;
}
cout << "Finished\n";
return 0;
}
> g++ -o testcatch testcatch.cc
> ./testcatch
Received: Help!
Finished