Comments 9
Какие-то Getter и Setter у вас скучные, а как-же non-static методы.
0
сколько бы не писали статей на Хабре о property в C++ на C++ =), они никогда не станут популярны и не сделают код ясней, все предпочитают вместо магического, скрывающего за собой дополнительные действия, кода
понятное и простое
props.String = "habr";
понятное и простое
props.setString("habr");
+2
На мой взгляд, куда проще так:
Property в C++ хотят те, кто использовали их в других языках и не могут отказаться от этого удобства.
Хотя, конечно, никакими дополнительными классами, шаблонами или макросами из С++ не сделать C#.
mov dword ptr [props.String], offset string "habr"
Property в C++ хотят те, кто использовали их в других языках и не могут отказаться от этого удобства.
Хотя, конечно, никакими дополнительными классами, шаблонами или макросами из С++ не сделать C#.
+1
Кстати, простое и понятное, на первый взгляд, в C++ всегда может оказаться чем то типа:
И это даже без учета макросов.
class PerverseProxy
{
public:
PerverseProxy( const char *str )
{
cout << "Never trust C++" << endl;
}
};
class Perverse
{
public:
void setString( const PerverseProxy &p ){}
};
int main()
{
Perverse props;
props.setString( "habr" ); // simply, huh?
}
И это даже без учета макросов.
0
Sign up to leave a comment.
Property в С++ на С++ (без применения препроцессора)