
Version 0.2.5
>>1577662
>gastar dinero en una plataforma para escuchar musica
>>1577585
Negrito qué tal los scooter?
Vale la pena uno? A mí me da miedo que me vayan a robar para quitarme un scooter kek
>>6791285
kek
>>1577529 (OP)
Puros negros maricos aquí por lo que leo. Una alternativa mejor es deezer loader descargas tu musiquita hasta en Flac, no tienen nada que perder negros haganlo.
>>50561
Hace un tiempo, un negro de >>/t/ me había hecho la propuesta de que eso se podía "simplificar", en un principio utilizaba secuencias de if, pero el planteo otra manera, utilizando hashmaps
>Y de optimizacion, no optimizes, nada hasta que aprendas algortimos, arquitectura de computadoras, compiladores y sistemas de analisis de rendimientos o conocidos como profiles.
Pues parece que aun me voy a quedar otra temporada encerrado en mi sótano, investigando en guugle acerca de esos dialectos y conceptos que están fuera de mi limitado entendimiento de chanero betoso
//http://cpp.sh/7qe3c
#include
#include
#include
#include
#include
#include
#include
using std::cout;
using std::cin;
using std::string;
using std::endl;
using std::vector;
using std::unordered_map;
void HelpFunction(){
cout << " --Commands avaible--\nHELP\tShow commands\nEXIT\tExit to program\nSETNAME\tSet name\nABOUT\tAbout program" << endl;
}
//Example function-command
static string nameClient;
void SetNameFunction(){
cout << "What is your name? ";
std::getline(cin, nameClient);
cout << "Hello " << nameClient << endl;
}
void GetNameFunction(){
name:
if(!nameClient.empty())
cout << "This program is execute for " << nameClient << endl;
else {
SetNameFunction();
goto name;
}
}
void MainCommand(){
cout << "Main command call" << endl;
}
void SubCommand(){
cout << "and sub command call" << endl;
}
void ExitFunction(){
exit(1);
}
typedef void (*pFunction)();
class InputFunction{
public:
void operator()(vector&comm){
comm.clear();
SetCommand();
SplitCommand(comm);
delete BufferCommand;
}
void SetCommand(){
BufferCommand = new string;
do{
cout << ">>";
std::getline(cin, *BufferCommand);
}while(BufferCommand->empty());
}
void SplitCommand(vector&comm){
BufferStream << *BufferCommand;
while(std::getline(BufferStream, BufferToken, ' ')){
comm.push_back(BufferToken);
}
}
private:
std::stringstream BufferStream;
string BufferToken;
string *BufferCommand;
};
class MainSystem{
public:
void operator()(){
BufferCommand = new vector;
this->input(*BufferCommand);
CallCommand();
delete BufferCommand;
}
void CallCommand(){
if(IndexReference.end() != IndexReference.find(BufferCommand->at(0))){
if(BufferCommand->size() >= 2){
if(IndexSubReference.end() != IndexSubReference.find(BufferCommand->at(1))) {
pFunction Command = IndexReference.at(BufferCommand->at(0));
pFunction SubCommand = IndexSubReference.at(BufferCommand->at(1));
(*Command)();
(*SubCommand)();
}else{
pFunction Command = IndexReference.at(BufferCommand->at(0));
(*Command)();
}
} else {
pFunction Command = IndexReference.at(BufferCommand->at(0));
(*Command)();
}
}else
cout << "Command no found\n";
}
private:
vector*BufferCommand;
InputFunction input;
unordered_mapIndexReference {
{"help", HelpFunction}, {"exit", ExitFunction}, {"setname", SetNameFunction}, {"about", GetNameFunction}, {"main", MainCommand}
};
unordered_mapIndexSubReference {
{"sub", SubCommand}
};
};
int main(){
do{
try{
MainSystem System;
System();
} catch( std::bad_alloc){
return 0;
}
}while(1);
}
Esto es otro ejemplo de lo que queria lograr,, un vector que funcionara como almacenador de dos comandos, comando principal y sub comando
Que nulos son, negros. Kike usando vph y yo con literalmente $5 de Paypal me compré una cuenta Spotify de un año y ha sido la puta mejor inversión de mi vida después de Netflix. Maldita sea con ustedes, negros, MALDITA SEA.
>>6791285
en >>/s/idalandia
>>83729
Kekié
>>6791080 (OP)
y las fotos?
>>6791110
>esa quijada de burra
SECUNDO