var in C#
var i = 30; // μμμ νμ
μ μΈ
- C#μμμ var ν€μλλ μ§μ λ³μμ νν΄μλ§ μ¬μ©μ΄ κ°λ₯νλ€
auto in C++
- C++μμμ autoλ λ³μμ νμ
μ μΆμ ν λΏλ§ μλλΌ, μΌλ°ν¨μμ ν¬νλ¦Ώ ν¨μμ λ°ν κ°λ μΆμ ν μ μλ€
auto i = 10;
auto foo() { //deduced to be int
return 5;
}
template<typename T, typename U>
auto add(T t, U u) {
return t + u;
}
νΌν¬λ¨Όμ€ μ΄μ?
- C++ auto λ³μλ μ»΄νμΌ νμμ νμ
μ μ μ(stripped)νκΈ° λλ¬Έμ νΌν¬λ¨Όμ€μ λ³λμ μν₯μ μλ€
- C#μ var μμ ILλ‘ μ»΄νμΌνλ κ³Όμ μμ μ΅λͺ
νμ
μ μ²λ¦¬νλ κ²κ³Ό κ°μ μΆκ°μ μΈ κ²°κ³Όλ¬Όμ΄ μμΌλ―λ‘, λ³ μν₯μ΄ μλ€
- μ μ΄μ IL μ»΄νμΌμ΄ λΆκ°λ₯ν μ½λλΌλ©΄ μ»΄νμΌ μλ¬κ° λ°μνμ κ²μ΄λ€
μΆμ²