diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-06-10 12:26:12 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-06-10 12:26:12 (GMT) |
commit | ea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c (patch) | |
tree | 47a26e1c68b49477a15a383caf6c1c1d0397c276 /doc/src/snippets/code | |
parent | 03b28bf56b2edd76ca55ec6e3702db7bca69e757 (diff) | |
parent | 1fddb14c4d0ee82ac66c89061e8a20932f961883 (diff) | |
download | Qt-ea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c.zip Qt-ea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c.tar.gz Qt-ea953378e71afaa4b6eb7c95bbe2e507b2ab6a7c.tar.bz2 |
Merge branch 'master' of git@scm.dev.troll.no:qt/qt-s60-public
Diffstat (limited to 'doc/src/snippets/code')
-rw-r--r-- | doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp b/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp new file mode 100644 index 0000000..05377dd --- /dev/null +++ b/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp @@ -0,0 +1,64 @@ +//! [0] +void myFunction(bool useSubClass) +{ + MyClass *p = useSubClass ? new MyClass() : new MySubClass; + QIODevice *device = handsOverOwnership(); + QIODevi + + if (m_value > 3) { + delete p; + delete device; + return; + } + + try { + process(device); + } + catch (...) { + delete p; + delete device; + throw; + } + + delete p; + delete device; +} +//! [0] + +//! [1] +void myFunction(bool useSubClass) +{ + QScopedPointer<MyClass> p(useSubClass ? new MyClass() : new MySubClass); + QScopedPointer<QIODevice> device(handsOverOwnership()); + + if (m_value > 3) + return; + + process(device); +} +//! [1] + +//! [2] + const QWidget *const p = new QWidget(); + // is equivalent to: + const QScopedPointer<const QWidget> p(new QWidget()); + + QWidget *const p = new QWidget(); + // is equivalent to: + const QScopedPointer<QWidget> p(new QWidget()); + + QWidget *const p = new QWidget(); + // is equivalent to: + const QScopedPointer<QWidget> p(new QWidget()); + + const QWidget *p = new QWidget(); + // is equivalent to: + QScopedPointer<const QWidget> p(new QWidget()); + +//! [2] + +//! [3] +if (scopedPointer) { + ... +} +//! [3] |