今日の学びまとめ

#20190611
VScode Ctrl + Shift + bでデフォルトのタスクでビルドしたときに、
d.cpp:51:15: error: no member named 'emplace_back' in 'std::__1::vector<std::__1::pair<int, int>, std::__1::allocator<std::__1::pair<int, int> > >'
        tasks.emplace_back(b, a);
エラーが出た
> ctrl shift P : configure task -> c/c++ clang++ build active fileでtask.jsonを作る
> task.jsonの"args"項目に
> "-std=c++14"
> を追記する
> ctrl shift p : run task でc/c++ build active fileでtask.jsonのタスクを実行する（デフォルトはだめ）
>>今後の課題 ctrl shift bで行うデフォルトのコンパイルで、-std=c++14をデフォルトで生み出せるようにしたい
>> batchファイルとかで手間がかからないようにしたい
>>> 20200207 コンパイルしても問題なかった。更新で問題なくなったとか？


#20190611
VScode C言語でインクルードパスのエラーがでた
> Microsoft C/C++ Extensionの設定にパス追加で解決した
> 全体への設定については"C_Cpp.default.includePath": []を用いた
> macOSをアップデートしたらg++でwchar.hが見つからなくなった　の問題も解決するとコマンドシフトbでコンパイルできる
> https://qiita.com/labocho/items/b966149e7e9700414bbc を参考にした

#20200115
競技プログラミング改行含みの入出力で困った
> https://qiita.com/blackcurrant/items/312ea2471900132fbd6a が神

#20200207
> vectorには、引数を一つしか取れない。二次元の動的配列等にするには、pair\<\>やtuple\<\>、構造体を引数にする必要がある
> ✗ vector\<int, int\> ○vector\<pair\<int, int\> \>

#20200326
> VScodeのc++のデバッグのために、CodeLLDBを入れてあげる必要がある。
> デバッグコンソール　F5でだいたいうまいこと設定ファイルを作ってくれるが、
> launch.jsonのtypeをlldbに書き換えてあげないとうまくいかない。

#20200503
MacのVSCodeのデバッグ実行でまたハマった
今の所下記の通りtask.jsonとlaunch.jsonを構成してやればなんとかなった
(仕組みはワカッテナイ)

``` task.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "clang++",
            "command": "/usr/bin/clang++",
            "args": [
                "-std=c++17",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

```

``` lauch.json
{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "clang++ - アクティブ ファイルのビルドとデバッグ",
            // "type": "cppdbg",
            "type": "lldb",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "preLaunchTask": "clang++"
        }
    ]
}

```

#20200625
Windows Subsystem for Linux 用デバッガ

``` task.json
{
    "tasks": [
        {
            "type": "shell",
            "label": "gcc build active file",
            "command": "/usr/bin/clang++",
            "args": [
                "-std=c++17"
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/bin"
            }
        }
    ],
    "version": "2.0.0"
}
```

``` lauch.json
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "gcc build active file",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}
```
#20210314
WindowsのVscodeのターミナルにおいて、文字が全部全角になってしまう
Vscodeで下記の設定を行う

``` 
"terminal.integrated.fontFamily": "monospace"
```