約 285,201 件
https://w.atwiki.jp/bigoyayubi/pages/40.html
プログラミング C++用語宣言 定義 デフォルトコンストラクタ コピーコンストラクタ C++のキャストconst_cast dynamic_cast reinterpret_cast static_cast constやconst_castといった機能を活用する目的 #defineを頑張って使わないこと new/delete何故new/delete使うの? 配列のnew/deleteは要注意 コンストラクタ注意点 デストラクタ注意点 自分で作成したクラスの管理用とかにnew/deleteをオーバーロード コメント 不必要な関数宣言は保守者の混乱のもと。用意するなら目的をどこかに書いておくこと データメンバをpublicで公開しないこと 配列データをクラス内で使いまわさないこと。どっかで領域はみ出したりする。 値渡しよりもリファレンス渡ししましょう。 C++用語 宣言 オブジェクト、関数、クラス、テンプレートの名前と型をコンパイラに知らせるが、詳細は別 定義 コンパイラにオブジェクト、関数、クラス、テンプレートの詳細を伝える デフォルトコンストラクタ 引数なしで呼び出せるコンストラクタ コピーコンストラクタ 同じ型の別オブジェクトを使って、オブジェクトを初期化する。 オブジェクトの値渡し=コピーコンストラクタの呼び出し! C++のキャスト const_cast オブジェクトやポインタの定数性を取り除く dynamic_cast 安全なダウンキャスト reinterpret_cast よくわからん。関数ポインタのキャストとか? static_cast C言語的キャスト constやconst_castといった機能を活用する目的 コンパイラでチェックできる。 ソースコードに意図が込めることができる。 #defineを頑張って使わないこと 定数設定はconst宣言で充分というか、const宣言使うほうがいいプリプロセッサ通ると数値とかに書き換わっているから変数名でトレースしにくい クラス変数配列にconst値が使えないときはenumで値指定すればOK マクロはinline関数でやる関数とほとんど同じイメージで使えるし、ミスが少ない inline関数使うとコード量が増えることには注意 new/delete 何故new/delete使うの? コンストラクタ、構造体のコンストラクタ/デストラクタが動きません。 配列のnew/deleteは要注意 Object array = new Object[100]; delete(array); 上のコードはメモリリーク確定。 new xxx[]はdelete[](xxx) が1セット! コンストラクタ注意点 ポインタメンバはしっかり初期化すること メモリを動的に割り当てるクラスはコピーコンストラクタと代入演算子を宣言すること 代入よりも初期化constやリファレンスのメンバは代入できない クラスメンバは初期化→代入なので、初期化だけにすれば効率的 初期化は宣言された順番から行われる デストラクタ注意点 ポインタメンバのdeleteを忘れないこと 基底クラスには仮想デストラクタを用意すること基底クラスポインタを使って派生クラスをdeleteすると動作は不定です 自分で作成したクラスの管理用とかにnew/deleteをオーバーロード new/deleteは1セットで書くこと。標準のnew/deleteは独自の管理領域も含めて扱う 配列で最初に固定数確保した領域でやりくりしたりもあり コメント 嘘を書くくらいなら書かないこと。書くならちゃんと書くこと どーでもいいことの説明はいらない。初期化すると書いても意味なし。数値の意味を書くのは役に立つかも 不必要な関数宣言は保守者の混乱のもと。用意するなら目的をどこかに書いておくこと データメンバをpublicで公開しないこと 他クラスから好き勝手いじられるパラメータとかありえない インターフェース中継してアクセスさせて、アクセスする際の注意点を持たせること 配列データをクラス内で使いまわさないこと。どっかで領域はみ出したりする。 インターフェースを中継してアクセスすれば、ガード処理も1つだけで済む 値渡しよりもリファレンス渡ししましょう。 値渡しはコピーです。処理がたくさん走ります。 なんでもかんでもリファレンス渡ししようとしても、実体がなければリファレンスもできないからね!
https://w.atwiki.jp/sfwiki/pages/206.html
サポート サポート [#s93e9345] TeamKill防止 [#b81dc365] 武器現地調達 [#ac562128] 武器タイプスロット追加 [#w2507ac4] 武器変更速度UP [#o0882395] ヘッドショットボーナス [#s4e96b10] 階級ポイント×2 [#t4aed592] ダブルアップ [#p4168315] コードネーム変更(永久) [#v7ff0df0] コードネーム変更(期間) [#rb7d1619] カラーコードネーム [#xfbee524] Kill_Death初期化 [#qab55e74] 戦率_勝率初期化 [#bd78d7f2] マナーデータ初期化 [#d63910b1] クロスヘアー [#t22afe69] TeamKill防止 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 自分が投げたグレネードのダメージは回避できません。自爆します。 武器現地調達 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器タイプスロット追加 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器変更速度UP #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ヘッドショットボーナス #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 階級ポイント×2 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ダブルアップ #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 2倍というのは、試合が終わると増えるチャージゲージと同じ分だけSPが即支給されるということ。 (試合終了時、ゲージが0.5コマ増えたとしたら500SP支給される、ということ。つまり、ゲージがちょうど満タンになるまでに計1万SPが支給され、ゲージ満タン時にプラス1万、合計2万になるので「2倍」という計算) コードネーム変更(永久) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 コードネーム変更(期間) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 カラーコードネーム #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 Kill_Death初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 戦率_勝率初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 マナーデータ初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 クロスヘアー #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 一覧 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ただし橙色は黄色に見えるなどの若干の色相違あり。 またスナイパーライフルやナイフなど、元々クロスヘアーのない武器は「・」(ドット)のみの表示となる。 #norelated
https://w.atwiki.jp/msx-sdcc/pages/68.html
漢字モード 一部の2と2+以降のハードウエアでは漢字ディスプレイモードが利用できる。 漢字ドライバと呼ばれる機能はDOS/Vにおける漢字表示機能と同じ。 漢字モードでは日本語マルチバイト文字対応のCPM互換DOSとなる。 漢字ドライバはDOS/Vにおける英語モードから日本語モードへの切替に相当する。 (DOSコマンドでchevやjp/us等に該当) DOSファンクションコールも日本語対応のため、日本語に対応したCPM互換環境ともいえる。 漢字画面モードはグラフィクスモードに依存しており0-3までの4種類がある。 漢字ドライバはBASIC環境でCALL KANJI0命令実行後初期化される。 DOS2ではフロッピーブート領域に識別子が記録され起動時に初期化可能だが BASIC以外で初期化方法はない。BASIC命令で初期化が必要。 DOSコマンドで漢字モードを切り替える場合は拡張BIOSを呼ぶが、初期化されていないと 画面モードは変わらない。 拡張BIOSの使い方はC言語からインターフェースのアセンブラコードを経由して呼び出す。 一般的な拡張BIOSコール手順は0xFFCAを呼ぶこと。この時Dレジスタにデバイス番号を指定する。 漢字ドライバではDレジスタを11デバイス番号、Eレジスタはファンクション機能 Aレジスタにスクリーンモードを置いてジャンプする。 この手順はアセンブラを前提としているためC言語関数として呼ぶ場合は ラッパを作る必要がある。 例を示す。 kanjidisp.asm ; .area_ASMCODE ; _kanjidispdriver ldhl,#2 addhl,sp ; lda,(hl);kanji display mode - [A] ldd,#0x11;extbios device number (KANJI DISPLAY DRIVER = 0x11) lde,#1;extbios functon number (CHANGE KANJI DISPLAY) ; pushAF;backup registerfile pushBC pushDE pushHL pushIX pushIY ; call 0xffca;call extbios ; popIY popIX popHL popDE popBC popAF ; ret kmode1.c #include stdio.h extern void kanjidispdriver(unsigned char mode); void main(void){ kanjidispdriver(1); } アセンブラのソースをアセンブルし、Cのソースをコンパイルしてから リンカで結合してバイナリを作成する。 漢字モード毎にコマンドを作れば各モード用にスクリーンを切り替える事ができる。
https://w.atwiki.jp/hoppocoandengine/pages/24.html
ゲームオーバー ゲームオーバーの画面 ゲーム中のシーンを中断して、ゲームオーバー画面を表示する。 ゲームオーバー画面はリトライボタンとか、諦めるボタンがある。 こういう処理はMenuSceneというシーンを利用すれば可能 MenuSceneを継承したGameOverMenuSceneクラスを作成。 作り方 GameOverMenuSceneのコンストラクタで項目を追加。 項目を追加し終わったら、メニューアニメータの設定を忘れずに。 これをしないと、座標が(0,0)の位置に全項目が配置されてしまう。 メニューの項目へのタッチ認識するには、このGameOverMenuSceneにIOnMenuItemClickListenerをimpleimentsして、 onMenuItemClickedメソッドを実装する。 どのアイテムがタッチされたのかはpMenuItem.getIDで認識可能。 Activity内にonMenuItemClickedを実装する方法もあるけど、ファイルを分けて見やすくしたかったので採用せず。 リトライ リトライでやることは、キャラクターの位置と速度の初期化と、ブロックの状態の初期化。 すべて、bodyの初期化で行う。 physicsWorldで、すべてのBodyのリストを得る、getBodiesメソッドを用いる。 これでwhile文でループして、getUserDataでキャラかブロックか判別し、それぞれのブロックに応じた初期化を行う。 ゲームクリア ゲームのクリア条件は色々考えられる。今回は、ブロックの総数をブロック生成時に格納し、ブロックを壊した数が、その総数に達した時にクリアしたと考える。 クリア時にはゲームオーバーの時と同様にMenuSceneを表示する。 作り方 GameClearMenuSceneクラスを作成。この時点ではGameOverMenuSceneクラスと中身は同じ。 リトライ 同じ
https://w.atwiki.jp/cplusplus/pages/21.html
目次 逆引きメンバ関数の中身が決まらない 派生クラス側のメンバ関数を使うようにしたい デストラクタの呼び出し順は? 抽象クラスを作る際、たまたま全てのメンバ関数に必要な処理があり、純粋仮想関数にできない ソースコードチェック一般定数定義 戻り値 クラス初期化 破棄 制約の明示インスタンスは1つ コピー禁止 リンク 逆引き メンバ関数の中身が決まらない その関数を純粋仮想関数にする。その関数を含むクラスは抽象クラスとなる。 派生クラス側のメンバ関数を使うようにしたい 基本クラス側のメンバ関数を仮想関数にする。 通常、クラスを作成する際に、将来に渡って派生されるかどうかなどはわからないので、全て仮想関数にすることをデフォルトにしても良い。ただし、処理速度は遅くなる。 デストラクタの呼び出し順は? 派生クラスから。仮想指定を無視してそのクラスの関数が呼び出される。 抽象クラスを作る際、たまたま全てのメンバ関数に必要な処理があり、純粋仮想関数にできない 純粋仮想デストラクタを使う。デストラクタを純粋仮想関数にする。 ソースコードチェック 一般 定数定義 #defineではなくconstを使う 戻り値 戻り値が必ず処理されていること クラス 初期化 全メンバ変数をコンストラクタで初期化しているか?特に、初期化不要な場合はコメントに明記する。 破棄 コンストラクタでnewしたものをデストラクタでdeleteしているか?特に、デストラクタ以外で破棄するものはコメントに明記する。 制約の明示 インスタンスは1つ Singletonにする コピー禁止 代入演算子をprivateにする リンク C/C++リファレンス C++編(言語解説) C++入門 ロベールのC++教室 猫でもわかるプログラミング Programming Place Plus
https://w.atwiki.jp/sfwiki/pages/37.html
サポート サポート [#s93e9345] TeamKill防止 [#b81dc365] 武器現地調達 [#ac562128] 武器タイプスロット追加 [#w2507ac4] 武器変更速度UP [#o0882395] ヘッドショットボーナス [#s4e96b10] 階級ポイント×2 [#t4aed592] ダブルアップ [#p4168315] コードネーム変更(永久) [#v7ff0df0] コードネーム変更(期間) [#rb7d1619] カラーコードネーム [#xfbee524] Kill_Death初期化 [#qab55e74] 戦率_勝率初期化 [#bd78d7f2] マナーデータ初期化 [#d63910b1] クロスヘアー [#t22afe69] TeamKill防止 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 自分が投げたグレネードのダメージは回避できません。自爆します。 武器現地調達 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器タイプスロット追加 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器変更速度UP #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ヘッドショットボーナス #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 階級ポイント×2 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ダブルアップ #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 2倍というのは、試合が終わると増えるチャージゲージと同じ分だけSPが即支給されるということ。 (試合終了時、ゲージが0.5コマ増えたとしたら500SP支給される、ということ。つまり、ゲージがちょうど満タンになるまでに計1万SPが支給され、ゲージ満タン時にプラス1万、合計2万になるので「2倍」という計算) コードネーム変更(永久) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 コードネーム変更(期間) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 カラーコードネーム #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 Kill_Death初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 戦率_勝率初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 マナーデータ初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 クロスヘアー #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 一覧 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ただし橙色は黄色に見えるなどの若干の色相違あり。 またスナイパーライフルやナイフなど、元々クロスヘアーのない武器は「・」(ドット)のみの表示となる。 #norelated
https://w.atwiki.jp/m1000/pages/190.html
<<メニュー mINIT メニューを初期化する 構文 mINIT パラメータ 無し 戻り値 無し 詳細 メニュー定義の初期化を行う。既存のメニューは全てキャンセルされる。 サンプルコード PROC main ENDP OPL掲示板
https://w.atwiki.jp/maya_pymel/pages/14.html
バージョン1.0.0の新機能 新しいパッケージのレイアウト PyMEL 1.0は非常に大きな後方の非互換性が導入されています:、pymelもはや輸入のサブパッケージをインポートするpymelは、厳密にそのサブモジュールのエントリポイントであることを意味します。 ユーザーが明示的に彼らが使用するサブモジュールをインポートする必要があります。以前のバージョンでやったのと同じトップレベルのpymelのモジュールをインポートすると、pymel.coreがプライマリモジュールのままとマヤの完全な起動シーケンスは、トリガ、バッチモードでそれをインポートする。 独自の名前空間を持つサブモジュール モジュール エイリアス pymel.util マヤの独立しているユーティリティ pymel.versions Mayaのバージョンを比較するための機能(Mayaを初期化する必要はありません) pymel.mayautils 低レベルのマヤのユーティリティ(マヤの初期化を必要としない) pymel.api OpenMayaクラス、マヤが必要ですが、maya.standaloneの初期化を必要としない pymel.internal pymel.coreにmaya.OpenMayaとmaya.cmdsを融合するために必要な機械(正式にmayahook) pymel.core 主なサブパッケージ、このモジュールをインポートするには、バッチモードでmaya.standaloneを初期化 pymel.core.nodetypes NT カスタムノードを含むすべてのノードのクラスが含まれています pymel.core.uitypes UI すべてのUIクラスが含まれています pymel.core.datatypes DT すべてのデータクラスが含まれています 親モジュールがインポートされると、エイリアスを持つモジュールは、この短い名前でアクセスすることができます。
https://w.atwiki.jp/java2cs/pages/5.html
特徴 継承を行うことも、継承されることもできない フィールドの初期化が行えない デフォルトのコンストラクタを定義できない nullがありえない(メリットでもある) クラスよりも初期化が高速
https://w.atwiki.jp/nicepaper/pages/176.html
フィールドデータを削除する場合のコマンドについて考えていきたいと思います。8月13日記事 目次 TRUNCATE TABLE テーブル名 DELETE FROM テーブル名 AUTO_INCREMENTの初期化 削除コマンドを走らせる以外にもデータを表示させない(消す)方法はある。 まとめ TRUNCATE TABLE テーブル名 TRUNCATEではDROP TABLEを行った上で再度同じテーブルを作成する AUTO_INCREMENTが設定されている場合はAUTO_INCREMENTの値は初期化できる。 障害がおこったときに前の状態に戻るというロールバックはできない 使用例(全フィールドデータを削除後、以前と同じテーブルの状態に戻す。) TRUNCATE TABLE テーブル名; DELETE FROM テーブル名 DELETEはTABLEデータを一つずつ削除する DELETEの場合はデータが削除されるだけでAUTO_INCREMENTの値は初期化できない。 障害がおこったときに前の状態に戻るというロールバックはできる。 使用例 DELETE FROM テーブル名 WHERE id = 1 ; AUTO_INCREMENTの初期化 AUTO_INCREMENTだけを初期化したいのであれば、 全削除後 以下のようにします。 ALTER TABLE table_name auto_increment = 1; 削除コマンドを走らせる以外にもデータを表示させない(消す)方法はある。 確かに、DELETEコマンドを走らせることでフィールドのデータを削除することができます。しかし、何度も消していると、ハードディスクのデータが飛び飛びで記録されていくようになり、フラグメンテーションを起こすようになってしまいます。そのため、ハードディスクにはエンドユーザには削除させるように見せかけるためにstatusカラムというものを作り、0は削除状態、1は下書き状態、2は公開状態というテーブル設計をすることで、見かけ上削除することができます。このようなテーブル設計の状態にしてあれば、もし、セキュリティホールをつかれて、データを削除されてしまった場合、statusカラムを0から2の状態等にすれば、データを簡単に復元することができます。 まとめ 全削除の場合はTRANCATEコマンド。 一つずつ削除の場合はDELETEコマンド。 statusカラムを設計し、statusカラムの状態2から0にするようなUPDATEコマンドを走らせることで、投稿のログを残したまま、フラグメンテーションを起こさず、データを保存することができます。(もし、ディスク領域がいっぱいになってきたらMySQLサーバにログインして、手で(管理者が独自にコマンドを走らせて)消すようにしましょう。) 以上