Советую попробовать Quicksilver. На первый взгляд это просто удобный способ запускать программы, но на самом деле намного больше: если разобраться то можно почти всё делать не пользуясь мышкой или тачпадом.
У меня MacBookPro, полтора года уже. До этого были разные ноутбуки, с Windows и c Linux. За полтора года ниразу не пожалел что перешёл на Mac.
Естественно это всё очень субьективно :)
std::pair<bool, int> some_complex_calculation() { //...... return std::make_pair(true, 1234); } .... std::pair<bool, int> result = some_complex_calculation(); if (result.first) { // do something useful }В таком случае можно вернуть и код возврата и результат вычислений.
Есть ещё boost::tuple, для случаев когда нужно вернуть более 2х переменных.
Можно и локальные функции определять, например так:
#include <iostream> int main(char** argv) { struct { void hello() { std::cout << "Hello, world!" << std::endl; } } x; x.hello(); return 0; }Ну и конечно же есть Boost Libraries с lambda и другими вкусностями.
У меня MacBookPro, полтора года уже. До этого были разные ноутбуки, с Windows и c Linux. За полтора года ниразу не пожалел что перешёл на Mac.