본문 바로가기

프로그래밍 언어 노트

(87)
[Visual Studio] 메서드 자동완성 기능 플러그인 (C# Methods Code Snippets) https://marketplace.visualstudio.com/items?itemName=jsakamoto.CMethodsCodeSnippets 비주얼스튜디오에서 C#은 워낙 킹갓 인텔리센스를 제공해줘서한 두글자쓰고 탭탭 누르면 왠만하면 다 만들어주는데 의외로 메소드에서 이런기능이 없다 해당 플러그인을 깔면 메소드에서도 해당 기능을 지원해준다. method (snippet for instance method) and "method1", "method2", "method3" are taking arguments edition. vmethod (snippet for virtual instance method) and "vmethod1", "vmethod2", "vmethod3" are taking arg..
[C#] 7.0 새로운 기능 out과 함께 초기화 class Program { public static void OutTest(out int arg) { arg = 0; } static void Main(string[] args) { int before; //선언 OutTest(out before); //Out OutTest(out var a); //선언과함께 초기화 가능, Var도 가능 Console.WriteLine(a); } }
[Clojure 연습] 1. 기초 연습문제 (ns hello.core) (defn Hello-Name [args] (println (str "hello " (first args))) ) (defn My-Calc-Program [] (let [x (Long/parseLong (read-line)) y (Long/parseLong (read-line)) z (read-line)] (case z "+" (println (+ x y)) "-" (println (- x y)) "*" (println (* x y)) "/" (println (/ x y)) ) )) (defn Sum-All [args] (println (apply + (map #(Long/parseLong %) args )) ) ) (defn -main [& args] (Sum-All arg..
[C#] auto property class MyClass{ public int MyField { get; set; }}getter setter를 줄여주는 C#의 킹갓 기능property 와 그마저도 줄여주는 auto-property. get;만쓰면 setter는 없고set만 쓰면 getter는 없고getter과 setter를 좀더 자세하게 구현하고싶으면 저기다가 구현하면된다. 여기서 그냥 get;set;만 쓰는경우대체 public과 무엇이 다른가! 내부적으로 다르다고 한다.그런데 내부적으로 다른게 대체 뭐가 중요한지 결국 public과 똑같이 작동하고똑같이 사용하는데 그냥 public과 대체 무엇이 다른건가 궁금해서 찾아 보았다. 간단히 설명하자면 auto-property가 존재한다는것은 내가 MyClass.MyField를 했을때 이게..
[C++] C++ 의 RTTI, typeid RTTI란 Run Time type info의 약자로타 언어에서의 리플랙션와 유사하다(기능이 많이 떨어진다) 타언어에서 자주쓰던 리플렉션을 C++에서 사용하고싶었는데type_info 구조체를 리턴해주는 typeid라는것이 있었다. 모던 C++은 아니고 원래 C++에 있던거 같은데 있는지도 모르고있었다 ㅜtypeinfo헤더를 포함해주어야한다. int a; double b; MyClass c; cout
[모던 C++] 킹갓 auto 와 decltype auto i = 10; decltype(i) j = 10;auto는 자동으로 형추론을 한다decltype은 declared type의약자로 ()안에 들어간 녀석의 형식을 나타낸다. templateauto Test(T1 a, T2 b)->decltype(a + b) { return a + b;}리턴으로 auto는 가능하나 후행 타입형식을 지정해주어야한다.템플릿의 경우 decltype을 이용하여 후행타입을 정해주면 기가막히게 사용할수있다.
[모던 C++] 스마트 포인터 memory헤더 파일에 정의되어있다. 0.auto_ptr삭제되었다. 1.unique_ptr특정 객체를 하나의 스마트포인터만 소유할수있도록 한다.복사가 불가능하고 move() 함수를 통하여 소유권을 이전 할 수 있다. unique_ptr u_ptr1(new int(10)); unique_ptr u_ptr2 = make_unique(10); //auto u_ptr3 = u_ptr1; //복사 불가 auto u_ptr4 = move(u_ptr2); //소유권 이전 u_ptr4.get(); //포인터 획득 u_ptr1.reset(); //reset으로 메모리 해제 u_ptr2.reset(); u_ptr4.reset(); const unique_ptr c_u_ptr1(new int(10)); //auto c_u_..