スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net (467レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
3
(1): 2016/08/17(水)22:18:06.51 ID:KqRj7kcI(1) AAS
基本部分の知識不足か説明不足で要領をえないな

> 関数にstaticをつける必要がある場合その関数を仮想関数みたいに使うにはどうすればいいかな?
そんなことをやろうとしなくても
派生クラス毎にstaticな関数を用意してSetTimerを呼び出すときにそれを登録すればいいだけでは
89
(1): 2017/04/13(木)09:54:46.51 ID:knppr/uB(1/2) AAS
>解放するときにちゃんとchの部分も解放されますか?

されない

>delete (Child*)ptr;
>みたいにしないとダメですか?

それでも解放はできるけど、それじゃ継承の利点であるポリモーフィズムが台無しになるので
デストラクタを仮想関数にするのが常套手段

class Parent{
int i;
public:
virtual ~Parent(){}
};
class Child : public Parent{
char ch;
};
90: 2017/04/13(木)10:33:00.51 ID:G0/b3aDb(2/3) AAS
>>88
>>89
ありがとうございます
260: 2018/01/25(木)22:18:47.51 ID:9MCrLTCo(1/6) AAS
組み込み環境に C++ のコードを移植しようとしているんだけど、質問ってここでしていいのかな。

RAM の容量が厳しいので、 Flash にデータを持つように改造したいと思っている。
で、これは、C++ 的には定数でデータを持つだけで実現できるらしい。幸い組み込み環境ではリードオンリーでよい。

普段 PC 環境なら計算量の多いコンストラクタを経て初期化しているあるクラスのインスタンス群を、
PC 環境上で初期化して各フィールドの値をダンプしておいて、
組み込み環境では各フィールドが const になるようにクラスを改造したうえで
何かの方法でコンストラクタをスキップしてやりたい。これでRAMも計算量も減らせたらいい。

思いついた方法は、シリアライザというかコードジェネレーターを用意してソースコード上に定数群をたくさん定義して、
MyType i { cDataA, cDataB, ... }, j { cDataO, cDataP, ... }; のような記述ができるようにする、という感じのもの。
ほかによく使われている方法はある? あるいは、アドレスのキャストか何かでインスタンスの初期化を完了できる黒魔法っぽい方法もあったりする?
289
(1): 2018/01/27(土)16:37:26.51 ID:2gTl4aTp(4/8) AAS
>>287
数学や数値計算の素人はだまってなさい
365: 2018/06/20(水)22:51:07.51 ID:AQ4yWUfz(1) AAS
新しいCPUの命令セットを使ったプログラムを古くて部分的にサポートされてないCPUで実行しようとしたときに起こる
416
(1): 2024/06/08(土)09:42:34.51 ID:Kcr3cAzI(1/2) AAS
>>409
> int b = 2 || func();
この描き方が良くない
int (b = 2) == true || func(); にしろとまでは言わないが
普通に読むと
int b = (2 || func()); を意図してるのかとも思ってしまう(もちろん思わないが)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s