鍍金池/ 問答/ C++問答
情已空 回答

可以使用管道或local套接字,構(gòu)建有一個(gè)cs架構(gòu)來處理

挽歌 回答

func 由于是形參,雖然a跟b的數(shù)值調(diào)換了(a,b是int *類型也就是你說的地址(地址也是值)),但是不是引用傳遞,所以對p,q沒有任何影響。

func1 你的int *c都沒初始化就賦值*c=*a;確定能跑通?

void fun1(int *a,int *b)
{
     int *c = new int;
     *c=*a;
     *a=*b;
     *b=*c;
}

func1 更改的是*a 和 *b的數(shù)值(*a指的是取a地址的內(nèi)容,也就是說把a(bǔ)地址的內(nèi)容和b地址的內(nèi)容交換了,內(nèi)存層面的操作全局都是有效的),所以最后輸出結(jié)果5,3

你的輸出結(jié)果3,3是怎么打印的?主要你的程序沒初始化指針肯定拋異常啊

舉個(gè)例子內(nèi)存里有4個(gè)值,A1->B1,A2->B2,A3->B3,A4->B4其中A是地址B是值,B1=A3,B2=A4也就是說A1和A2存的是A3,A4的指針,A1,A2,A3,A4分別對應(yīng)你程序的p, q, x, y變量

進(jìn)入func,p傳遞給a,A5->B1, q傳遞給b,A6->B2
func就是在函數(shù)局部交換了a,b的值對應(yīng)我的例子就是A5->B2,A6->B1交互B1和B2的值,但是func函數(shù)退出局部變量銷毀A5,A6,剩下A1->B1,A2->B2,A3->B3,A4->B4

進(jìn)入func,p傳遞給a,A5->B1, q傳遞給b,A6->B2
交換a,b的內(nèi)容(*a 就是取a地址的內(nèi)容對應(yīng)例子A5->B1=A3->B3取出來的是B3), 交換后A5->B1=A3->B4, A6->B2=A4->B3,直接看A3和A4內(nèi)存結(jié)構(gòu)變?yōu)锳3->B4和A4->B3
退出局部變量銷毀A5,A6,剩下A1->B1,A2->B2,A3->B4,A4->B3

嫑吢丕 回答

你需要自己通過下面的命令生成一套密鑰,包括公鑰和私鑰

ssh-keygen -t rsa -C "your email"

然后把公鑰復(fù)制到git 倉庫的SSH KEY 的設(shè)置當(dāng)中。

使用SSH其實(shí)是加密通信,省去了每次輸入賬號密碼的麻煩。每次通信時(shí)會拿線上的公鑰和本地的私鑰做校驗(yàn)

初心 回答

此tree非彼tree

每一次遞歸的時(shí)候 這個(gè)tree的指向是不同的

孤慣 回答

這樣寫是沒有問題,只不過因?yàn)閍jax是異步的,所以你如果直接在fetch后面的代碼里拿text是拿不到的

使用你提供的 SDK 下載鏈接,親測可編譯(linux x64 g++)。

源碼目錄結(jié)構(gòu)如下

.
├── a.cpp
├── a.h
├── aip-cpp-sdk-0.4.0
│?? ├── base
│?? │?? ├── base64.h
│?? │?? ├── base.h
│?? │?? ├── http.h
│?? │?? └── utils.h
│?? ├── face.h
│?? ├── image_censor.h
│?? ├── image_classify.h
│?? ├── image_search.h
│?? ├── kg.h
│?? ├── nlp.h
│?? ├── ocr.h
│?? ├── README.md
│?? └── speech.h
├── main.cpp
└── Makefile

文件 a.h 內(nèi)容如下

#ifndef _a_h_
#define _a_h_
bool call_speech();
#endif

文件 a.cpp 內(nèi)容如下

#include "aip-cpp-sdk-0.4.0/speech.h"
#include <json/json.h>

bool call_speech() {
    aip::Speech sp("app_id", "ak", "sk");
    Json::Value data;
    Json::Value result = sp.request_asr("url", data);
    return result.isString();
}

文件 main.cpp 內(nèi)容如下

#include "a.h"

int main()
{
    return call_speech() ? 0: 1;
}

文件 Makefile 內(nèi)容如下

demo: a.cpp main.cpp
    g++ -Wall -std=c++11 -g $^ -o $@ -lcurl -lcrypto -ljsoncpp

使用命令 make 順利編譯。


由于你沒有貼出調(diào)用 SDK 的相關(guān)代碼,我無法準(zhǔn)確判斷原因。

以上面的代碼結(jié)構(gòu)為例,你很可能在 a.h 里引用了 SDK 的頭文件,然后在 a.cpp 里面引用了 a.h 頭文件,類似這樣

// a.h 文件內(nèi)容
#ifndef _a_h_
#define _a_h_
#include "aip-cpp-sdk-0.4.0/speech.h"
#include <json/json.h>

bool call_speech();
#endif


// a.cpp 文件內(nèi)容
#include "a.h"
#include <json/json.h>

bool call_speech() {
.......

這種寫法就會出現(xiàn) “重復(fù)定義” 的錯(cuò)誤,。


SDK 下載地址: http://ai.baidu.com/download?...

玄鳥 回答

以前沒有遇到過這個(gè)問題,我實(shí)驗(yàn)了一下,覺得原因應(yīng)該是:

  1. 父級容器上設(shè)置overflow、overflow-y和overflow-x屬性不為visible時(shí),會觸發(fā)一次容器寬高計(jì)算并裁剪
  2. box-shadow屬性不會影響元素的寬高,所以被overflow忽略,然后裁剪
  3. 由于設(shè)置了overflow,父級元素觸發(fā)BFC,沒有上外邊距合并,所以能夠顯示上邊的box-shadow

事實(shí)上,overflow不為visible與觸發(fā)BFC的條件很像,但不清楚是不是BFC的原因。

以上都是在chrome瀏覽器中發(fā)現(xiàn)的情況,因此可以試試上面兩位的解決方法。

但是

但是,如果你是在IE9瀏覽器中,那么僅僅是1px的margin是沒有辦法完整顯示box-shadow的,至少得是2px。

怣痛 回答

跨平臺方便。新的 arch 只需要寫一個(gè)從 plan 9 匯編到 target arch 匯編的轉(zhuǎn)譯器就行了。

情未了 回答

使用char *p,會導(dǎo)致一個(gè)問題,看getp,*p的類型是char,而malloc返回值的類型是void*,類型不一致;若改成char **p??梢詮念愋偷慕嵌认胂?。

雨蝶 回答

socket進(jìn)程數(shù)跟CPU核數(shù)有關(guān)系,一般2核開4個(gè)進(jìn)程,保持幾十萬的并發(fā)鏈接是沒問題的

朽鹿 回答

我覺得可以這樣理解

首先理解方法本身的意思:
Streamreduce方法,翻譯過來是聚合或者是匯聚成一個(gè)的意思,由于Stream本身就代表著一堆數(shù)據(jù),那stream.reduce()方法顧名思義就是把一堆數(shù)據(jù)聚合成一個(gè)數(shù)據(jù)

理解了reduce方法的意思,再來看看這個(gè)方法掛靠的對象是stream,是一個(gè)流,了解一下流的工作方式:
流底層核心其實(shí)是Spliterator接口的一個(gè)實(shí)現(xiàn),而這個(gè)Spliterator接口其實(shí)本身就是Fork/Join并行框架的一個(gè)實(shí)現(xiàn),所以歸根結(jié)底要明白流的工作方式,就要明白一下Fork/Join框架的基本思想,即:以遞歸的方式將可以并行的任務(wù)拆分成更小的子任務(wù),然后將每個(gè)子任務(wù)的結(jié)果合并起來生成整體的最后結(jié)果,畫了個(gè)草圖如下

clipboard.png

理解了方法本身的意思以及流的工作方式,再結(jié)合到一起理解一下stream.reduce()方法,即用Fork/Join的方式把一堆數(shù)據(jù)聚合成一個(gè)數(shù)據(jù),因此可以畫出reduce方法的運(yùn)行草圖

clipboard.png

結(jié)合草圖,要實(shí)現(xiàn)stream.reduce()方法,必須要告訴JDK

  1. 你有什么需求數(shù)據(jù)要匯聚?(Stream已經(jīng)提供了數(shù)據(jù)源,對應(yīng)上面草圖的A元素)

  2. 最后要匯聚成怎樣的一個(gè)數(shù)據(jù)類型(對應(yīng)reduce方法的參數(shù)一,對應(yīng)上面草圖的B元素)

  3. 如何將需求數(shù)據(jù)處理或轉(zhuǎn)化成一個(gè)匯聚數(shù)據(jù)(對應(yīng)reduce方法的參數(shù)二,對應(yīng)上面草圖的匯聚方式1)

  4. 如何將多個(gè)匯聚數(shù)據(jù)進(jìn)行合并(對應(yīng)reduce方法的參數(shù)三,對應(yīng)上面草圖的匯聚方式2)

再結(jié)合你給的map方法,其實(shí)是要把O類數(shù)據(jù)的流,最后轉(zhuǎn)化為一個(gè)I類數(shù)據(jù)的List,因此按照上面的步驟可以進(jìn)行對照

  1. 你有什么需求數(shù)據(jù)要匯聚?(O類數(shù)據(jù)流)

  2. 最后要匯聚成怎樣的一個(gè)數(shù)據(jù)類型(一個(gè)集合,new ArrayList()

  3. 如何將需求數(shù)據(jù)處理或轉(zhuǎn)化成一個(gè)匯聚數(shù)據(jù)(根據(jù)mapper把O轉(zhuǎn)化為I,再用List.add方法)

  4. 如何將多個(gè)匯聚數(shù)據(jù)進(jìn)行合并(兩個(gè)集合合并,用List.addAll()

最后補(bǔ)充一點(diǎn),若是你的參數(shù)真是Stream<I> streamFunction<I, O> mapper,建議不要用reduce方法,這么寫可能會更好一點(diǎn)

public static <I, O> List<O> map(Stream<I> stream, Function<I, O> mapper) {
        return stream.map(mapper).collect(Collectors.toList());
    }
夢一場 回答
電腦C盤每個(gè)文件夾作用:

1、Documents and Settings是什么文件?答案:是系統(tǒng)用戶設(shè)置文件夾,包括各個(gè)用戶的文檔、收藏夾、上網(wǎng)瀏覽信息、配置文件等。補(bǔ):這里面的東西不要隨便刪除,這保存著所有用戶的文檔和賬戶設(shè)置,如果刪除就會重新啟動不能登陸的情況,尤其是里面的default user、all users、administrator和以你當(dāng)前登陸用戶名的文件夾。

2、Favorites是什么文件?答案:是收藏夾,存放你喜歡的網(wǎng)址??梢栽谄渲蟹啪W(wǎng)址快捷方式和文件夾快捷方式,可以新建類別(文件夾)。
 
3、Program Files是什么文件?答案:應(yīng)用軟件文件夾 裝軟件的默認(rèn)路徑一般是這里!當(dāng)然里面也有些系統(tǒng)自身的一些應(yīng)用程序。

4、Common Files是什么文件?答案:Common Files. 這個(gè)文件夾中包含了應(yīng)用程序用來共享的文件,很重要,不能亂刪除 Common Files這個(gè)文件是操作系統(tǒng)包擴(kuò)系統(tǒng)程序和應(yīng)用程序 Common Files是應(yīng)用程序運(yùn)行庫文件數(shù)據(jù)庫覆蓋了大約1000多個(gè)最流行的應(yīng)用程序的插件,補(bǔ)丁等等 文件夾common files里很多都是系統(tǒng)文件,不能隨意刪除,除非確定知道是干什么用的,沒用的可以刪掉。不過就算刪掉了有用的東西,也沒大的關(guān)系,頂多是某些軟件用不了,不會造成系統(tǒng)崩潰。

5、ComPlus Applications是什么文件? 答案:ComPlus Applications: 微軟COM+ 組件使用的文件夾,刪除后可能引起COM+ 組件不能運(yùn)行。

6、DIFX是什么文件?答案:不可以刪除,已有的XML數(shù)據(jù)索引方法從實(shí)現(xiàn)思想上可分為兩類:結(jié)構(gòu)歸納法和節(jié)點(diǎn)定位法.這兩種方法都存在一定的問題,結(jié)構(gòu)歸納法的缺點(diǎn)是索引規(guī)模較大而且難以有效支持較復(fù)雜的查詢,而節(jié)點(diǎn)定位法的主要缺點(diǎn)是容易形成過多的連接操作.針對這些問題,提出了一種新的動態(tài)的XML索引體系DifX,它擴(kuò)展了已有的動態(tài)索引方法,采用一種動態(tài)的Bisimilarity的概念,可以根據(jù)實(shí)際查詢需求以及最優(yōu)化的要求動態(tài)決定索引中保存的結(jié)構(gòu)信息,以實(shí)現(xiàn)對各種形式的查詢最有效的支持.實(shí)驗(yàn)結(jié)果證明DifX是一種有效而且高效的XML索引方法,其可以獲得比已有的XML索引方法更高的查詢執(zhí)行效率.。

7、Internet Explorer是什么文件?答案:不用說了,肯定不能刪除,IE,瀏覽網(wǎng)頁的。

8、Kaspersky Lab是什么文件?答案:卡巴斯基的文件包,這個(gè)是卡巴的報(bào)告,在 C:\Documents and Settings\All Users\Application Data\Kaspersky Lab\AVP6\Report 的更新文件中有很多report文件 很占地方的 刪除了就好了, 1利用卡巴自帶的清理功能,但不能完全清理干凈。 2關(guān)閉自我保護(hù),然后將report文件夾下面的文件手動刪除。

9、Messenger是什么文件?答案:系統(tǒng)自帶的MSN是完全可以刪除的。 相信有不少人都在使用MSN,可能有同樣的經(jīng)歷,安裝完 新的MSN 后,可每每打開 MSN 首先跳出來的是舊版,而不是新版。即使在系統(tǒng)中刪除了老版本,但過了不久也會自動恢復(fù)回來。 如果要徹底刪除老版本.可以點(diǎn)擊"開始"->"運(yùn)行"-> 代碼: RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove。

10、microsoft frontpage是什么文件?答案:那個(gè)是系統(tǒng)自帶的網(wǎng)頁編輯器。

11、Microsoft Silverlight是什么文件?答案:Silverlight是于Adobe Flash基本相同的軟件,運(yùn)行在瀏覽器中的插件。實(shí)現(xiàn)交互、動畫等功能。使用XAML文件支持,支持.net運(yùn)行庫。 program files是Windows操作系統(tǒng)中所有應(yīng)用程序的位置,大是正常的。很多情況都可能造成program files創(chuàng)建文件夾,一般是安裝應(yīng)用程序后創(chuàng)建的。您需要提供出文件夾名稱我們才可以確切的說是不是無用的文件夾。 一般情況這里的文件夾不可以刪除的,如果刪除會影響系統(tǒng)或應(yīng)用程序無法運(yùn)行。

12、Movie Maker是什么文件?答案:movie maker是 微軟提供的 捆綁系統(tǒng)的一個(gè)視頻編輯軟件 我的這個(gè)文件也是空的,據(jù)猜測,應(yīng)該是ghost版的系統(tǒng)優(yōu)化掉了這個(gè)軟件。 完全可以刪除,不過系統(tǒng)總是重建這個(gè)文件夾。 可以用unlocker軟件刪除。 你無法刪除的原因是仍然有桌面進(jìn)程調(diào)用這個(gè)文件。 不解除鎖定是無法刪除的。

13、MSBuild是什么文件?答案:沒找到,應(yīng)該是系統(tǒng)相關(guān)的,最好別刪!

14、MSN Gaming Zone是什么文件?答案:一些系統(tǒng)自帶的撲克牌等小游戲,可以刪除 控制面板-〉添加或刪除程序-〉添加/刪除windows組件,然后在列表里面找到你要刪除的outlook和msn explorer,把前面的勾去掉,就能刪除了。

15、MSXML 6.0是什么文件?答案:msxml 指微軟的xml語言解析器,用來解釋xml語言的。就好像html文本下再到本地,瀏覽器會檢查html的語法,解釋html文本然后顯示出來一樣。要使用xml文件就一定要用到xml parser。不過不僅僅微軟有,像ibm,sun都有自己的xml parser。

16、NetMeeting是什么文件?答案:是Windows自帶的MSN的文件,如果你不用MSN以及Outlook Express,你完全可以把它刪掉。 不過也占不多大地方的。是Windows自帶的MSN的文件,如果你不用MSN以及Outlook Express,你完全可以把它刪掉。不過還是推薦看下網(wǎng)上的卸載方式,畢竟用系統(tǒng)自帶的卸載方式比較安全。NetMeeting文件夾是系統(tǒng)自帶的有關(guān)遠(yuǎn)程控制的部分,你刪掉后這個(gè)功能不能使用,但不影響正常操作,但是由于是系統(tǒng)自帶所以會自動生成,也有病毒喜歡潛伏在此文件夾內(nèi),不過并不是簡單的通過刪除文件夾可以解決的 NetUpdateService.exe這個(gè)進(jìn)程如果用戶名項(xiàng)是system的話應(yīng)該就是你的自動更新服務(wù)了,如果不用自動更新的話最好關(guān)掉,省得浪費(fèi)資源。

17、Online Services是什么文件?答案:上網(wǎng)用的!不能刪除!

18、Outlook Express是什么文件?答案:Outlook express 是Windows內(nèi)置的郵件收發(fā)端 他的作用就是你不必每次登郵箱都要上網(wǎng)頁只要打開outlook express就可以收發(fā)郵件了?。。。。〖墑e:先知是收發(fā)電子郵件的軟件。 他是一個(gè)收發(fā)電子郵件的軟件,由微軟研發(fā)。

19、Reference Assemblies是什么文件?答案:系統(tǒng)相關(guān)的!最好別刪除。

20、SigmaTel是什么文件?答案:這個(gè)文件是有用的文件!此文件是計(jì)算機(jī)聲卡的驅(qū)動!注意!系統(tǒng)磁盤里的文件不懂的話,千萬不可亂刪除哦!

21、VMware是什么文件?答案:系統(tǒng)文件,不要亂動。

22、Windows Media Connect 2是什么文件?答案:程序的東西,別刪除!

23、Windows Media Player是什么文件?答案:是系統(tǒng)自身的一個(gè)播放軟件!

24、Windows Media Player 答案:使用 Microsoft Windows Media Player,您可以播放和組織計(jì)算機(jī)和 Internet 上的數(shù)字媒體文件。這就好象把收音機(jī)、視頻播放機(jī)、CD 播放機(jī)和信息數(shù)據(jù)庫等都裝入了一個(gè)應(yīng)用程序中。使用 Windows Media Player,您可以收聽世界各地電臺的廣播、播放和復(fù)制您的 CD、查找在 Internet 上提供的視頻,還可以創(chuàng)建您的計(jì)算機(jī)上所有數(shù)字媒體文件的自定義列表。 總之,就是一種多媒體播放器,集視頻與音頻于一身。

25、Windows NT是什么文件?答案:一種網(wǎng)絡(luò)操作系統(tǒng),特點(diǎn)如下: 1.將聯(lián)網(wǎng)能力加入到操作系統(tǒng)中,使之成為操作系統(tǒng)功能的一個(gè)組成部分。 2.系統(tǒng)直接支持網(wǎng)絡(luò)上各主機(jī)之間的文件復(fù)制、用戶之間的電子郵件、支持作為仿真終端實(shí)現(xiàn)對遠(yuǎn)程主機(jī)的登錄等等。而用戶不需要在機(jī)器上再安裝此類網(wǎng)絡(luò)服務(wù)軟件。 3.由于系統(tǒng)支持多個(gè)網(wǎng)絡(luò)協(xié)議,因此對現(xiàn)存的多種網(wǎng)絡(luò)、網(wǎng)絡(luò)服務(wù)器,都能很容易地實(shí)現(xiàn)數(shù)據(jù)交換4.網(wǎng)絡(luò)具有開放式結(jié)構(gòu),網(wǎng)絡(luò)中使用地各種數(shù)據(jù)傳輸、網(wǎng)絡(luò)驅(qū)動程序都可以被動態(tài)地裝入和卸出,而且不同種類地功能部件可以并存。這些都有利于網(wǎng)絡(luò)功能地修改和擴(kuò)充。

26、WinRAR是什么文件?答案:winrar,是一款比較優(yōu)秀的壓縮解壓縮軟件,支持鼠標(biāo)拖放及外殼擴(kuò)展,完美支持 ZIP 檔案,內(nèi)置程序可以解開 CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO 等多種類型的壓縮文件;具有估計(jì)壓縮功能,你可以在壓縮文件之前得到用 ZIP 和 RAR 兩種壓縮工具各三種壓縮方式下的大概壓縮率;具有歷史記錄和收藏夾功能;壓縮率相當(dāng)高,而資源占用相對較少、固定壓縮、多媒體壓縮和多卷自釋放壓縮是大多壓縮工具所不具備的;使用非常簡單方便,配置選項(xiàng)不多,僅在資源管理器中就可以完成你想做的工作;對于 ZIP 和 RAR 的自釋放檔案文件( DOS 和 WINDOWS 格式均可),點(diǎn)擊屬性就可以輕易知道此文件的壓縮屬性,如果有注釋,還能在屬性中查看其內(nèi)容。

27、Xerox是什么文件?答案:Xerox文件夾是XP自己安裝的,為自帶的一些圖像處理軟件作臨時(shí)空間用。 文件夾的名稱源自Microsoft采用了Xerox公司授權(quán)的技術(shù),該文件夾受WFP (Windows File Protection)保護(hù),所以不可能(也沒必要)刪除。 ATI Technologies是顯卡控制程序,跟電腦芯片有關(guān),不要動它 Online Services是網(wǎng)絡(luò)服務(wù)文件夾 NetMeeting是MS最早基于IP聊天的一種工具,Netmeeting功能強(qiáng)大,除了語音、視頻,它還有文字聊天、電子白板、文件傳送、程序共享等等。 可以刪除 不過,在這個(gè)文件夾內(nèi)的文件夾都是比較重要的,或者經(jīng)常用的,最好不要動,弄不好就會對系統(tǒng)造成影響,還不好恢復(fù)。

>>原文來源<<

蝶戀花 回答

解決了,已AC。

#include <iostream>
#include <cstring>
#define maxn 85
using namespace std;
int main(){
    int n,flag;
    char a[maxn];
    cin>>n;
    while(n--){
        cin>>a;
        for(int i=1;i<=strlen(a);i++){
            if(strlen(a)%i==0){
                flag=1;
                for(int j=i;j<strlen(a);j++){
                    if(a[j]!=a[j%i]){
                        flag=0;
                        break;
                    }
                }
                if(flag){
                    cout<<i<<endl;
                    if(n) cout<<endl;
                    break;
                }
            }
        }
    }
    return 0;
}
背叛者 回答

你都對需求進(jìn)行交付了!

可以重構(gòu),但是你要考慮當(dāng)下適不適合重構(gòu)!

你覺得有很大問題需要重構(gòu),那你要跟領(lǐng)導(dǎo)商量啊

不舍棄 回答
  1. 構(gòu)造函數(shù)里面的$username = ''$username的默認(rèn)參數(shù),可以使用new User()new User('abc')來給User類的$username屬性賦值
  2. 后面的$username = []是一種好的習(xí)慣,對$username進(jìn)行初始化,參見手冊PHP基礎(chǔ),初始化變量
<?php
function test($res){
    $ret = [];
    if($res){
        $ret = [1,2,3];
    }
    return $ret;
}

function test2($res){
    if($res){
        $ret = [1,2,3];
    }
    return $ret;
}
var_dump(test(false));
var_dump(test2(false));
亮瞎她 回答

你沒有把原型寫清楚,如果getitem函數(shù)/方法有一個(gè)返回值來指示錯(cuò)誤信息,那對于 C++ 這種單返回值的語言,只能把返回的數(shù)據(jù)通過指針傳回來。
如果不是,那可能寫書的這個(gè)人喜歡這樣寫吧。

苦妄 回答

看你給出的代碼,你以前沒寫過“異步”結(jié)構(gòu)的代碼嗎?
js 里拿數(shù)據(jù)都是異步的,不是同步的,沒有 return ,只有 callback 。

乖乖瀦 回答

寬的可能是用meta標(biāo)簽設(shè)置的,窄的可能是知乎自己寫的