avril
2010
Dans mon billet précédent je présentais mon article sur les nouveautés de Visual C++ avec notamment un point sur le support partiel de C++0x.
Je vous propose de découvrir quelques-unes de ces nouvelles fonctionnalités en commençant par : nullptr.
Nullptr, littéralement : pointeur nul, devient un mot clef du langage à part entière, il est destiné à remplacer dans votre code NULL qui est une définition:
#define NULL 0
Nous pouvons maintenant écrire :
if ( pData == nullptr ){}
BOOL CMainFrame::CreateOutlookBar(…)
{
If(this==nullptr || m_hWnd== nullptr) return FALSE;
}
Jusqu’à présent rien de bien essentiel par rapport à l’utilisation de NULL.
En fait ce mot clef va s’avérer utile dans le cas suivant :
void MyClass ::FunctionAdd(int *pInt){...
void MyClass ::FunctionAdd(int n){...
…
MyClass var;
var.FunctionAdd(nullptr); // Appellera FunctionAdd(int *pInt);
var.FunctionAdd(NULL); // Appellera FunctionAdd(int n); sans avertissement du compilateur...
nullptr permet ici d’éviter la mauvaise résolution d’appel de la méthode suggérée par NULL qui est un entier.
Dernier point : Je n’ai pas fait l’essai, mais il serait intéressant de voir si nullptr peut être utilisé dans du code mixte C++ et C++CLI qui utilise aussi ce mot clef…
Articles récents
Commentaires récents
Archives
- septembre 2010
- mai 2010
- avril 2010
- février 2010
- août 2009
- juin 2009
- mai 2009
- février 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007
- janvier 2007
- décembre 2006
- novembre 2006
- octobre 2006
- septembre 2006
- août 2006
- juillet 2006
- juin 2006
- mai 2006
- mars 2006
- février 2006