小编Szy*_*una的帖子

为什么clang会自动添加"cstdio.h"?

假设我有这样的代码片段:

#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
printf("%d",5);
}
Run Code Online (Sandbox Code Playgroud)

它在我的Apple LLVM版本5.0(clang-500.2.79)(基于LLVM 3.3svn)编译器上编译和运行正常,但它在gcc版本4.4.5(Debian 4.4.5-8)上失败,说它没有识别"printf"功能.我的Uni教授使用后者,今天他们说我的程序不起作用.

我的问题是 - 为什么clang(在OS X 10.9上由g ++ namefile.cpp运行)在这种情况下自动包含"cstdio.h"?

PS.我知道C++中有cin和cout流,这可以解决问题,但我的问题更具理论性,并且用于自动包含的未来目的.

c++ g++ clang

2
推荐指数
1
解决办法
446
查看次数

在方法C/C++中释放动态分配的char*

假设我有这样的代码:

char* Complex::getString(void)
{   
        char *p;
        int n = snprintf( NULL, 0, "%.6f+%.6fi", (float)_re, (float)_im);
        p = (char*)malloc(n+1);
        sprintf( p,  "%.6f+%.6fi", (float)_re, (float)_im);

        return p;
}
Run Code Online (Sandbox Code Playgroud)

我应该释放p,如果是的话 - 在哪里以及为什么?

c++

0
推荐指数
1
解决办法
136
查看次数

Ruby shuffle方法不适用于json解析数组

我有一个像这样的json文件:

{
  "data": "12-14.02.2013",
  "uwagi": ["Pierwsza","Druga","Trzecia"],
  "tytul": "Kolokwium 1",
  "przedmiot": "Muzykologia",
  "questions" : [
    {
     "punkty": 2,
     "pytanie" : "Czy lubi Pan reggae?",
     "odpowiedz" : "Tak, bardzo",
     "verbatim" : "if (a){b=5}"
    },
    {
     "punkty": 3,
     "pytanie" : "Czy lubi Pan hip-hop?",
     "odpowiedz" : "Nieszczególnie"
    },
    {
     "punkty": 5,
     "pytanie" : "Czy lubi Pan disco polo?",
     "odpowiedz" : "Nie"
    }]
}
Run Code Online (Sandbox Code Playgroud)

和像这样的ruby代码:

require 'json'

file = open("pytania.json")
json = file.read

parsed = JSON.parse(json)

questionsArr = parsed["questions"]
questionsArr.shuffle
puts questionsArr
Run Code Online (Sandbox Code Playgroud)

questionsArr在.shuffle之后没有排序

我试过.sort_by …

ruby json

0
推荐指数
1
解决办法
162
查看次数

标签 统计

c++ ×2

clang ×1

g++ ×1

json ×1

ruby ×1