-
+12
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
// Вопрос: как сгенерировать в рантайме предупреждение от компилятора?
// http://stackoverflow.com/q/4187967
void f(int*p = nullptr)
{
if (!p)
{
//HERE I WOULD LIKE TO HAVE AN MSG THAT WOULD BE DISPLAYED DURING COMPILATION AS A WARNING POSSIBLY
}
}
// Ответ: очевидно же, вызвать компилятор для соответствующего кода.
// http://stackoverflow.com/a/4188155
void f(int *p = nullptr) {
if (!p) {
system("gcc -Wall warning.c");
}
}
Каков вопрос - таков ответ.
Xom94ok,
01 Сентября 2013
-
+64
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Товарищи, стоит задача: найти количество слов в строке.
Автор (http://programmersforum.ru/showthread.php?p=1269850#post1269850) просто делит строку по пробелам, затем
подсчитывает кол-во слов.
Я же, говорю, что такой подход НЕПРАВИЛЕН, т.к. в русском
языке (да и не только) слова разделяются символами пунктуации, которые сами в состав слова не входят - следовательно, делить нужно по ним:
[code]" ' . , ! ?: ; - + <пробел> <табуляция> ( )[code]
На меня сразу же наехали и поудаляли мои сообщения. Неужели я не прав?
Баян все еще там: http://programmersforum.ru/showthread.php?p=1269850#post1269850
Stertor,
28 Августа 2013
-
+15
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
#include <cstdio>
#include <cstdlib>
#include <fstream>
// #include <cstring>
#include <string>
using namespace std;
string exec = "\"c:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe\"";
string root = "http://techno.org/electronic-music-guide/";
const char* flist = "list.txt";
void getFile(string name)
{
string command = exec + " " + root + name;
system(command.c_str());
}
int main(int argc, char* argv[])
{
ifstream fin(flist);
string name = "";
while(true)
{
if (fin.eof()) break;
getline(fin, name);
getFile(name);
}
return 0;
}
Суть такова: ваш покорный слуга копался в исходниках этого: http://techno.org/electronic-music-guide/ -- ради музыкальных лупов на рингтон. Узнал, что это реализовано swf-модулями, список которых он добыл после объединения кучи скриптов и сортировки в NPP. Осталось лишь найти способ загрузить эти файлы по списку.
Но искать было лень, поэтому реализовано подручными средствами: мозгом, компилятором и случайно попавшимся wget'ом (FTW).
ckopo,
28 Августа 2013
-
+23
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
void main()
{
// Откуда в программе баги берутся???
struct ╯°□°{}╯︵┻━┻;
// Понятия не имею.
// Код классный, имена переменных говорят сами за себя...
// Строк комментариев больше, чем строк кода...
// А баги всё-равно есть.
// КАК ЖЕ МЕНЯ ВСЁ ЭТО БЕСИТ!
(╯°□°)╯︵┻━┻;
}
В ответ цитате с баша:
scala самый крутой язык, в нём можно столами кидаться
def ┻━━┻ = {
new Exception("ACHTUNG!")
}
throw ┻━━┻
На С/С++ тоже можно столами кидаться и более красиво! Достаточно сохранение файла в unicode включить.
Little-Horny,
25 Августа 2013
-
+11
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
for(int i = posX-width, numBlock = 0; i < posX+width; i++)
{
for(int j = posY-height; j < posY+height; j++)
{
if(worldInfo[i][j] != air){
switch(worldInfo[i][j])
{
case grass:
for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[0][i];
break;
case dirt:
for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[1][i];
break;
case rock:
for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[2][i];
break;
case water:
if(j != 35)
for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[3][i];
else
for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[4][i];
break;
case sand:
for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[5][i];
break;
}
numBlock++;
}
}
}
Мое. Долго искал причину краша. Нашел. Если в кратце, тот тут идет присваивание текстурных коррдинат. Я оставлю это здесь, приятного аппетита!
pelmenka,
24 Августа 2013
-
+16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
void setEnabled(bool enabled)
{
super.setEnabled(enabled)
if (enabled) {
objectsArray.disable();
return;
}
enable();
}
ZevsVU,
23 Августа 2013
-
−1
- 1
- 2
- 3
- 4
- 5
parallel_for(1, 6, [](int value) {
wstringstream ss;
ss << value << L' ';
wcout << ss.str();
});
Вместо того чтобы заняться допиливанием С++11 для студии, макрософт решила написать своё параллельное апи и глупые примерчики к нему на тему вывести случайную перестановку элементов.
LispGovno,
22 Августа 2013
-
+6
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
#include <iostream>
using std::cout;
using std::endl;
auto power(double x, int n)-> double*;
int main()
{
void * c = power(5,2);
std::cout << *(double*)c << std::endl;
return 0;
}
auto power(double x, int n)-> double*
{
double* result(new double(1.0));
for(int i = 1; i <= n; i++)
*result *= x;
return result;
}
taburetka,
21 Августа 2013
-
+9
- 1
// When F does not contain result_type, result_of<F(T1, T2, ..., TN)>::type is F::result<F(T1, T2, ..., TN)>::type when N > 0 or void when N = 0.
http://www.boost.org/doc/libs/1_54_0/libs/utility/utility.htm#result_of
> void when N = 0.
Создатели boost::result_of решили, что если функция принимает 0 аргументов, то она не может ничего возвращать кроме void.
LispGovno,
20 Августа 2013
-
+20
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
Matrix matrix ( h, w );
delete &h, &w;
for ( int i = 0; i < h; i++ )
{
for ( int j = 0; j < w; j++ )
{
cout << "Введите элемент [" << i << ", " << j << "]: ";
cin >> matrix[i][j];
}
}
Найди ошибку...
SkaN,
19 Августа 2013