浅谈cocos2dx(19) 二段构建模式
~~~~我的生活,我的点点滴滴!! 这篇文章将围绕两个疑问点展开 一、什么是二段构建模式? 大家都知道在C中我们一般在构造函数中为对象分配内存空间然后初始化成员变量,比如我们调用了new某个东西,那么在堆上会先为对象分配内存空间,然后调用构造函数
~~~~我的生活,我的点点滴滴!!
这篇文章将围绕两个疑问点展开
一、什么是二段构建模式?
大家都知道在C++中我们一般在构造函数中为对象分配内存空间然后初始化成员变量,比如我们调用了new某个东西,那么在堆上会先为对象分配内存空间,然后调用构造函数,在构造函数中完成一些初始化的工作。而二段构建模式就是将内存空间的分配和初始化分开来完成,然后调用一个静态方法来返回这个对象。
就拿cocos2dx中的Sprite类来说吧,当我们调用Sprite::create()的时候内部先使用new来分配内存空间,然后调用init方法来初始化一些变量的设置。所以cocos2dx中的二段构建模式就是将new分配内存空间和init初始化内容分开来处理,而不是c++传统的做法在构造函数中初始化变量。
Sprite* Sprite::create() { //分配内存 Sprite *sprite = new Sprite(); //init初始化 if (sprite && sprite->init()) { //内存管理的工作 sprite->autorelease(); return sprite; } CC_SAFE_DELETE(sprite); return nullptr; }
上边就是使用二段构建模式的过程,Sprite首先调用new来分配内存空间,然后调用init函数来完成初始化的工作,顺带还做了内存管理的工作,最后返回初始化好的对象。所以看了Sprite的create方法的实现,我们也知道了应该怎么使用这个二段构建模式了吧。
二、为什么要这么用?
c++程序员来说初始化工作不都是在构造函数中完成的吗,cocos中为何要这么做呢?
这里引述一下王哲的话:“其实我们设计二段构造时首先考虑其优势而非兼容cocos2d-iphone. 初始化时会遇到图片资源不存在等异常,而C++构造函数无返回值,只能用try-catch来处理异常,启用try-catch会使编译后二进制文件大不少,故需要init返回bool值。Symbian(qt), Bada SDK,objc的alloc + init也都是二阶段构造”。现在大家明白了吧,兼容Cocos2d-iPhone是一个原因,另一个重要的原因是构造函数没有返回值啊,如果加载资源图片的时候不存在怎么办,所以初始化的工作写在init函数中,这个函数返回的bool值用来判断是否初始化成功。使用这种方法还可以强化设计,想想自己写代码的时候是不是因为没有初始化某个成员变量导致了bug,这样做就是提醒你记得要在init中初始化成员变量。通过create静态函数返回的这个对象也实现了Cocos2dx中的内存管理,就不用我们自己麻烦了。还有一个原因是在C++的构造函数中是不能调用虚函数的,为了调用虚函数来完成一些功能就要写在init函数中。
以上就是二段构建模式的说明了,在我们写cocos程序的时候其实不知不觉就已经在使用这个构建模式了,想一下我们一个类继承了Layer,然后使用了宏CREATE_FUNC(),这不就是create静态方法吗,在init函数中完成了初始化,整个过程就是在用这种设计模式!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Que signifie le mode Ne pas déranger de WeChat ? De nos jours, avec la popularité des smartphones et le développement rapide de l'Internet mobile, les plateformes de médias sociaux sont devenues un élément indispensable de la vie quotidienne des gens. WeChat est l’une des plateformes de médias sociaux les plus populaires en Chine, et presque tout le monde possède un compte WeChat. Nous pouvons communiquer avec nos amis, notre famille et nos collègues en temps réel via WeChat, partager des moments de notre vie et comprendre la situation actuelle de chacun. Cependant, à notre époque, nous sommes également inévitablement confrontés aux problèmes de surcharge d'informations et de fuite de la vie privée, en particulier pour ceux qui ont besoin de se concentrer ou de se concentrer.

Les appareils iOS sont depuis longtemps capables de suivre vos habitudes de sommeil et bien plus encore grâce à l'application Santé. Mais n’est-ce pas ennuyeux d’être dérangé par des notifications pendant que vous dormez ? Ces notifications peuvent ne pas être pertinentes et donc perturber vos habitudes de sommeil. Bien que le mode Ne pas déranger soit un excellent moyen d'éviter les distractions pendant votre sommeil, il peut vous faire manquer des appels et des messages importants que vous recevez pendant la nuit. Heureusement, c'est là qu'intervient le mode veille. Apprenons-en plus à ce sujet et comment l'utiliser sur iPhone. Quel rôle joue le mode veille sur l'iPhone ? Le mode veille est un mode de concentration dédié dans iOS qui est automatiquement activé en fonction de votre horaire de sommeil dans l'application « Santé ». Cela vous aide à définir une alarme, puis

Dans les deux premiers didacticiels de cette série, nous avons créé des pages personnalisées pour vous connecter et enregistrer de nouveaux utilisateurs. Désormais, il ne reste plus qu'une partie du flux de connexion à explorer et à remplacer : que se passe-t-il si un utilisateur oublie son mot de passe et souhaite réinitialiser son mot de passe WordPress ? Dans ce didacticiel, nous aborderons la dernière étape et compléterons le plugin de connexion personnalisé que nous avons construit tout au long de la série. La fonctionnalité de réinitialisation du mot de passe dans WordPress suit plus ou moins l'approche standard des sites Web actuels : l'utilisateur lance une réinitialisation en saisissant son nom d'utilisateur ou son adresse e-mail et en demandant à WordPress de réinitialiser son mot de passe. Créez un jeton de réinitialisation de mot de passe temporaire et stockez-le dans les données utilisateur. Un lien contenant ce token sera envoyé à l'adresse email de l'utilisateur. L'utilisateur clique sur le lien. Dans le lourd

Même répondre à des appels en mode Ne pas déranger peut être une expérience très ennuyeuse. Comme son nom l'indique, le mode Ne pas déranger désactive toutes les notifications d'appels entrants et les alertes provenant d'e-mails, de messages, etc. Vous pouvez suivre ces ensembles de solutions pour résoudre ce problème. Correctif 1 – Activer le mode de mise au point Activez le mode de mise au point sur votre téléphone. Étape 1 – Faites glisser votre doigt depuis le haut pour accéder au Centre de contrôle. Étape 2 – Ensuite, activez le « Mode Focus » sur votre téléphone. Le mode Focus active le mode Ne pas déranger sur votre téléphone. Aucune alerte d’appel entrant n’apparaîtra sur votre téléphone. Correctif 2 – Modifier les paramètres du mode de mise au point S'il y a des problèmes dans les paramètres du mode de mise au point, vous devez les résoudre. Étape 1 – Ouvrez la fenêtre des paramètres de votre iPhone. Étape 2 – Ensuite, activez les paramètres du mode Focus

Sur les modèles iPhone 15 Pro et iPhone 15 Pro Max, Apple a introduit un bouton d'action physiquement programmable qui remplace le traditionnel interrupteur sonnerie/silencieux au-dessus des boutons de volume. Le bouton d'action peut être programmé pour exécuter plusieurs fonctions différentes, mais la possibilité de basculer entre les modes silencieux et sonnerie n'a pas disparu. Par défaut, un appui long sur le bouton d'action mettra l'appareil sous silence et le retour tactile du bouton clignotera trois fois. Les deux modèles d'iPhone 15 Pro afficheront un symbole de cloche barrée à côté de l'heure dans la barre d'état pour indiquer que le mode silencieux/silencieux est activé, et il le restera jusqu'à ce que vous appuyiez à nouveau longuement sur le bouton Action pour réactiver l'appareil. Si vous préférez mettre votre iPhone en mode silencieux

Le mode sombre de Notepad++ v8.0 n'a pas de paramètres, Notepad++ est l'éditeur de texte le plus utile. Chaque application exécutée sur Windows 10 prend en charge le mode sombre. Vous pouvez nommer des navigateurs Web tels que Chrome, Firefox et Microsoft Edge. Si vous travaillez sur Notepad++, le fond blanc par défaut peut vous faire mal aux yeux. Les développeurs ont ajouté le mode sombre à la version 8 de Notepad++, voici comment l'activer. Activer le Bloc-notes pour Windows 11/10 ++ Mode sombre Lancez le Bloc-notes ++ Cliquez sur "Paramètres" > "Préférences" > "Mode sombre" Sélectionnez "Activer le mode sombre" pour redémarrer le Bloc-notes

Les ordinateurs portables Windows sont dotés d'options d'hibernation et d'arrêt. Lorsque vous mettez votre ordinateur portable en mode veille, il passe en mode faible consommation et vous pouvez continuer à travailler comme vous l'avez laissé. Si vous éteignez votre ordinateur portable, vous devez fermer tous les programmes et votre travail et recommencer. Si vous souhaitez faire une pause avec votre ordinateur portable tout au long de la journée, le mode veille ou le mode veille prolongée sont une bonne option. Et si on fermait la porte ? Dois-je éteindre mon ordinateur portable à chaque fois ? Découvrons-le. Dois-je éteindre mon ordinateur portable à chaque fois ? Il peut être judicieux d'éteindre votre ordinateur portable pour économiser de l'énergie et prolonger la durée de vie de l'appareil, surtout s'il n'est pas utilisé pendant une période prolongée. Mais pendant la journée, c'est une bonne idée de mettre votre ordinateur portable en mode veille pour continuer vos tâches.

Comment utiliser Python pour créer un assistant vocal intelligent Introduction : À l'ère du développement rapide de la technologie moderne, la demande des gens en matière d'assistants intelligents est de plus en plus élevée. Parmi ces formes, les assistants vocaux intelligents ont été largement utilisés dans divers appareils tels que les téléphones mobiles, les ordinateurs et les haut-parleurs intelligents. Cet article explique comment utiliser le langage de programmation Python pour créer un assistant vocal intelligent simple afin de vous aider à implémenter votre propre assistant intelligent personnalisé à partir de zéro. Préparation Avant de commencer à créer un assistant vocal, nous devons d'abord préparer quelques outils nécessaires
