crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Litkevich Yuriy
  опции профиля:
сообщение 12.2.2010, 0:51
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Наткнулся на такую запись:
static void createDA(XSQLDA *&sqlda)
{
...
}
sqlda - это что указатель на ссылку?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
BRE
  опции профиля:
сообщение 12.2.2010, 8:30
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Litkevich Yuriy @ 12.2.2010, 0:51) *
Наткнулся на такую запись:
static void createDA(XSQLDA *&sqlda)
{
...
}
sqlda - это что указатель на ссылку?

Наоборот. Указателей на ссылку быть не может.

Эквивалентна следующей записи:
static void createDA(XSQLDA **sqlda)
{
    *sqlda = new XSQLDA;
}

void func()
{
    XSQLDA *data;
    createDA( &data );
    createDA( 0 );        // Да пожалуйста
}

Только в эту функцию можно передать 0, если же использовать ссылку, то параметр должен быть указателем на объект:

static void createDA(XSQLDA *&sqlda)
{
    sqlda = new XSQLDA;
}

void func()
{
    XSQLDA *data;
    createDA( data );
    createDA( 0 );        // ОШИБКА!
}


Сообщение отредактировал BRE - 12.2.2010, 9:14
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 14.7.2025, 10:18