C에서 C++로
입출력 #include int main(void) { // 출력 std::cout
- 프로그래밍 언어/C++
- · 2022. 12. 24.
함수 Generic Go도 1.18 버전부터 Generic을 지원하기 시작했다. func 함수명[T any](n T) T {...} 함수명 뒤에 [ ]를 통해 제너릭을 선언할 수 있다. any는 모든 타입을 뜻하며, comparable은 ==, != 비교가 가능한 타입을 의미한다. 그 외 정의된 타입의 키워드(string, int...)들을 사용할 수 있다. func Power[T int | float64](n T) T { return n * n } |(OR)을 이용해 여러 타입을 작성할 수 있다. type Number interface { int | int16 | int32 | int64 | float32 | float64 } func Power[T Number](n T) T { return n * n..
C언어의 기본 문법이나 OOP(객체지향)에 대한 기본 개념을 알고 있다는 전제로 작성된 글이다. 예제 코드의 간결함을 위해 아래 내용은 생략하고 기록하였다. #include using namespace std; C → C++ // C++ struct Sample { int id; char name[10]; }; /* C typedef struct { int id; char name[10]; } Sample; */ int main(void) { Sample sample = { 1, "DeneV" }; cout
입출력 #include int main(void) { // 출력 std::cout
Name Space namespace는 특정 영역을 분리하는 식별자 역할을 한다. 데이터의 범위를 단순히 전역·지역으로 나누지 않고 namespace를 이용해 구체적으로 지정해 줄 수 있다. namespace test1 { void HelloWorld(void); } namespace test2 { void HelloWorld(void); } test1과 test2라는 독립된 공간을 만들어 HelloWorld라는 같은 이름의 함수가 충돌하지 않도록 분리해 주었다. test1과 test2는 각각의 공간을 식별해주는 namespace가 된다. test1::HelloWorld namespace::함수/변수의 형태로 특정 namespace 내의 데이터를 정의하거나 불러온다. 예시: namespace로 분리하기 ..
nomad-coders님의 영상을 보다가 dataclasses라는 유용한 라이브러리를 알게 되어 정리하게 되었다. 정리한 내용은 공식 문서 (3.11)를 참고하여 작성하였다. 추가로 객체 데이터를 다룰 때 유용하게 사용하고 있는 property도 함께 소개하였다. dataclasses 개념 class Person: def __init__(self, pid, name, age): self.pid = pid self.name = name self.age = age class내에서 __init__을 사용해 필요한 데이터를 저장해두는 아주 전형적인 코드이다. 하지만 받아야 하는 데이터가 많을 경우, 동일한 코드를 반복적으로 작성해야 하는 번거로움이 생긴다. 이럴 때 dataclasses를 사용해 간결하게 작성할..
TOML TOML은 Key:Value 형태로 데이터를 매핑하는 파일 형식이다. JSON이나 YAML과 같이 설정 파일에 주로 사용되는 형식이다. # TOML [user] id = 398 name = "DeneV" [auth] admin = true # JSON { "user": { "id": 398, "name": "DeneV" }, "auth": { "admin": true } } 같은 데이터를 각각 TOML과 JSON으로 표현한 모습이다. 데이터의 구조가 복잡해질수록 TOML이 더 읽기 편하다는 장점이 있다. 추가로 TOML은 JSON과 달리 #으로 주석을 작성할 수 있다는 특징도 있다. TOML에 대해 간단하게 살펴보면 아래와 같이 여러 자료형의 데이터를 저장할 수 있다. string1 = "Hi"..