Warunkowo ustaw zmienną, jeśli jest NULL

Podczas przechodzenia przezsqlite3_stmt, Chciałbym sprawdzić przeciwko zwrotnej wartościNULL zamiast go przechowywać i sprawdzać pod względem przechowywanej wartości.

Oto co robię teraz:

char *email = (char *)sqlite3_column_text(statement, 10);
if (email == NULL) email = "";

A oto co bym zrobiłlubić robić, pomijając podwójne wezwanie docolumn:

char *email = ((char *)sqlite3_column_text(statement, 10)) ? (char *)sqlite3_column_text(statement, 10) : "";

Czy jest jakiś sposób, aby wyrazić drugie wyrażenie bardziej zwięźle? Muszę robić wiele z nich wielokrotnie, więc szukam zwięzłości.

Wiem, że jest to problem z przepływem sterowania, a nie z samym interfejsem API SQLite, ale masz go. Nie mogę wymyślić dobrego sposobu, aby to zrobić.

questionAnswers(2)

yourAnswerToTheQuestion