sanae::str d="hello";
sanae::str t="";
t=d;
とやるとなぜかブレークポイントが発生します。
もう一つのパソコンではヒープ領域が壊れてしまったりしていて
よくわかりません。
sanae::strのコード(github):
https://github.com/ubproject/Useful-headers/blob …
ほかにもおかしなところを教えていただけると嬉しいです。
初心者なのでやさしめにお願いします、、、
No.1ベストアンサー
- 回答日時:
まず「ブレークポイントが発生する」は意味不明な言葉だ. そもそも「ブレークポイント」は自分で設定するもの, 勝手に湧いて出てくるようなことは (本来の「ブレークポイント」の意味においては) ありえない.
で, 前
https://oshiete.goo.ne.jp/qa/12741697.html
で書いておいたんだよね, 「代入するだけでアウトとかなってないか?」って. たぶんだけど, そこに引掛ってる.
前のときは言及してなかったんだけど, コピー代入演算子のデフォルトもシャローコピーだから, 同じ事情で死ぬ可能性がある. つまりコピー代入演算子も定義しなきゃいけない.
あといくつか順不同にコメントしておこう.
・代入演算子 (複合代入演算子を含む) は「自分自身を (参照で) 返す」ように定義するのが一般的. operator << も同様.
・operator [] や operator char * は const 用とそうでないやつ用の 2種類定義しておこう (内容は同じだけど).
・比較演算子は bool を返してるんだから 0 や 1 じゃなく true, false を使うべき. あとクラス str を引数に持つものは const str & にすべきだ.
・calloc に渡す引数がおかしい. それから copystring も from の型が不自然. そのために, 本来不要なはずのキャストをしてる.
・input の引数 mode は, それ用の enum を定義すべきだろう. ただの enum にするか, enum class にするかはたぶん好みだけど.
・あ, sfree の引数がおかしい.
前回も教えていただきありがとうございます。
代入演算子などは修正しておきました。
このように修正しました。
https://github.com/ubproject/Useful-headers/blob …
こんな感じでいいでしょうか?
とらえ方が間違っていたらすいません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語の質問です HTMLでこのようなコードを書いたのですがそれをC言語で同じように書きたいです < 1 2022/08/11 23:38
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Visual Basic(VBA) ブックのCOPY 4 2023/02/25 20:17
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UWSCでMOUSEORG関数が上手く処...
-
なぜシフトJISにロシア語がある...
-
PreviewKeyDownイベントが2回...
-
Nullの使い方が不正です。
-
フィルターかけた後、重複を除...
-
QRコードの印刷
-
ワークシートチェンジで曜日を...
-
1日に1人がこなせるプログラム...
-
1、Rstudioで回帰直線を求める...
-
MIPSコードへの変換
-
ゲームのアルゴリズム
-
変数名「cur」について
-
JavaScriptの定数名が取り消し...
-
Objective-Cの繰返しアニメーシ...
-
access2021 VBA メソッドまたは...
-
VBA:テキストファイルの抽出に...
-
ACCESSユニオンクエリでORDER B...
-
木偏に「久」
-
sinカーブの表示のさせ方
-
アクセスで桁数を増やしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
JANコードとPOSコードは同じ?
-
1日に1人がこなせるプログラム...
-
sinカーブの表示のさせ方
-
access2003 クエリSQL文に...
-
access2021 VBA メソッドまたは...
-
変数名「cur」について
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
Exel VBA 別ブックから該当デ...
-
Excel VBA素人です。VBAで図形...
-
ACCESSユニオンクエリでORDER B...
-
VBAでファイルオープン後にコー...
-
Nullの使い方が不正です。
-
COBOLの文法
-
PreviewKeyDownイベントが2回...
-
SQL
-
VB6のComboBox関連の書き方をVB...
-
【VB6】実行ファイルとした後、...
-
エクセルに見えない文字(JISX0...
おすすめ情報