Cześć,
natrafiłem w necie na reklamę z kodem i nieznanym mi logo.
W której wersji C++ jest to napisane?
Czy to w ogóle się wykona?
http://www.wykop.pl/ramka/1987816/lt-so-you-th-nk-you-can-code-gt/
0
1
Jeśli chodzi o ten kod na dole plakatu to wygląda na C++11 ale czy jest w 100% dobry to nie mam pewności
3
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string str = "dpefejwf/qm";
auto decode = [](unsigned char c){ return c-1u; };
transform(str.cbegin(), str.cend(), begin(str), decode);
cout << str << endl;
return 0;
}
result:
codedive.pl
0
Dziekuję za szybką odpowiedź.
Nie skumałem, że chodzi o algorytm.
0
auto decode = [](unsigned char c){ return c-1u; };
Ale przecież
typedef basic_string<char> string;
więc dlaczego używają unsigned char
?
0
specmajster napisał(a):
W której wersji C++ jest to napisane?
Czy to w ogóle się wykona?
ja to potrafiłem wykonać w pamięci traktując jako pseudokod; w sumie fajniej by było gdyby to było napisane w nieistniejącym języku
1
#include <functional>
...
transform(str.cbegin(), str.cend(), begin(str), bind2nd(minus<unsigned char>(), 1));
i nie trzeba lambdy.