欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解PID控制器原理

 更新時(shí)間:2021年06月26日 09:50:56   作者:Cayla夢(mèng)云  
什么是 PID?它是一種在編程中使用的基本方法,如果正確調(diào)整,可以令人難以置信的有效和準(zhǔn)確,PID代表比例積分微分,3個(gè)單獨(dú)的部分連接在一起,雖然有時(shí)你不需要三個(gè)都使用。例如,您可以改為有P控制,PI控制或PD控制

一、P - Proportional 比例

想象一下一個(gè)全速行進(jìn)的機(jī)器人,假設(shè)傳感器上的值為1000。 現(xiàn)在,由于它的速度和慣性,它可能會(huì)超過(guò)一點(diǎn), 當(dāng)編寫(xiě)程序時(shí),這可能是一個(gè)大麻煩,你想盡可能的準(zhǔn)確。這個(gè)問(wèn)題如圖所示(x軸上的綠色標(biāo)記代表理想距離):
在理想世界中,您告訴機(jī)器人在哪里停止,它就停止在哪里

這里寫(xiě)圖片描述

但是,我們不是理想世界,如果我們突然告訴它停止,我們會(huì)有超調(diào)的問(wèn)題,結(jié)果可能是這樣的:

這里寫(xiě)圖片描述

現(xiàn)在這個(gè)超調(diào)不會(huì)是一個(gè)問(wèn)題,如果它的距離總是相同的。然而,有很多變量可以改變它超出的距離。 例如:

  • 電池電壓。 如果電池電量不足,則電機(jī)不能快速運(yùn)行,會(huì)有較少的慣性, 在這種情況下,機(jī)器人超調(diào)變小
  • 如果機(jī)器人碰到一些東西,那么超調(diào)會(huì)變小
  • 如果某些東西將機(jī)器人朝向想要行進(jìn)的方向推動(dòng),則超調(diào)將會(huì) 變得更大

所以你可以看到,超調(diào)不好。 所以P控制器控制速度, 所以P控制器控制速度平穩(wěn)地,讓它在接近目標(biāo)時(shí)減速,以縮小超調(diào)。 這就是為什么它被稱為比例控制器 – 輸出速度與要更改的值成比例,我們稱之為誤差(error)。

它是怎么做的?

你有一個(gè)很好的變量,叫做誤差(error)。這將是根據(jù)這個(gè)值對(duì)應(yīng)的傳感器的讀書(shū),它還在變化,就像前文提到的。例如,誤差可以是剩下要走的距離,剩下的要提升的高度,需要繼續(xù)加熱的溫度,等等。
為了計(jì)算誤差,我們只需減去傳感器給我們的讀數(shù),這個(gè)讀書(shū)我們希望傳感器在完成后立即告訴我們。

誤差 =(目標(biāo)值) - (傳感器讀數(shù))

error = (target value) – (sensor reading)

因此,通過(guò)給出一些示例值來(lái)說(shuō)明你想要的距離和它實(shí)際走過(guò)的距離,你會(huì)看到當(dāng)它接近目標(biāo)時(shí),誤差會(huì)越來(lái)越小。

下面是幾個(gè)示例值:

目標(biāo)值 當(dāng)前傳感器讀數(shù) 誤差
1000 200 800
1000 400 600
1000 600 400
1000 800 200
1000 1000 0

我們可以用這個(gè)來(lái)控制應(yīng)用程序的速度,如果你想用一個(gè)簡(jiǎn)單的P控制器,沒(méi)有I和D項(xiàng)。為此,我們可以寫(xiě):

error = (target value) – (sensor reading);
speed = error;

另外,誤差值可能不太像我們想要的那樣。 這個(gè)值可能太高了,所以它超標(biāo)了很多。 如果過(guò)調(diào),它會(huì)嘗試和糾正過(guò)調(diào)(誤差將變成負(fù)數(shù)),所以你可以在在調(diào)試器或窗口觀察值和發(fā)生的情況,你將看到誤差在振蕩,超調(diào)然后過(guò)度校正。

或者,誤差值太小,但通常不會(huì)遇到這個(gè)問(wèn)題。

對(duì)于任一問(wèn)題,您可以更改誤差,以保持其比例因子,但你可以將錯(cuò)誤乘以(或除)另一個(gè)數(shù)字,一個(gè)常數(shù)。 你可以稱之為任何你喜歡的名字,但它通常被稱為“Kp” – 比例組件的常數(shù)。

Kp = 0.5;
while (condition)
{
    error = (target value) – (sensor reading);
    speed = Kp * error;
}

二、I - Integral 積分

所以代碼的比例部分已經(jīng)得到了,所以剩下的誤差是相當(dāng)小的。比例太小,不能產(chǎn)生很大的差異。這就是積分。積分是之前的誤差的總和。所以當(dāng)你的誤差非常小,積分起到作用,但它實(shí)際上如何工作的呢?

積分想要得到它,使其行進(jìn)足夠快以縮小誤差,但不要太快,因?yàn)槟菢涌赡軙?huì)有超調(diào)的風(fēng)險(xiǎn).它通過(guò)慢慢加速的方式去決定走多快,積分可以想這樣計(jì)算

積分=積分+誤差* 時(shí)間增量

integral = integral + error*dT

以上的設(shè)置是這樣的,所以“積分”的新值等于(等號(hào)左側(cè))
先前的“積分”值,加上(誤差*時(shí)間增量)。忽略時(shí)間增量部分,我稍后再來(lái)討論這個(gè)問(wèn)題。
積分增加的方式可以如下表中所示(使用誤差為2 做例子):

Cycle # Previous value for integral Error New value for integral
0 0 2 2
1 2 2 4
2 4 2 6
3 6 2 8
4 8 2 10

粗體的數(shù)字(New value for integral積分的新值)在不斷增加.

那么我們?nèi)绾螌⑺砑拥浆F(xiàn)有代碼中呢? 我們把它加起來(lái)。所以現(xiàn)在的速度是:

speed = (Kp * error) + integral

那么現(xiàn)在加了積分偽代碼就變成這樣:

Kp = 0.5;
while (condition)
{
    error = (target value) – (sensor reading);
    integral = integral + error;
    speed = Kp*error + integral;
}

就像比例部分的代碼一樣,我們需要對(duì)積分加上一個(gè)常數(shù)項(xiàng)。我將使用0.2作為Ki的一個(gè)例子值,盡管和K一樣,它只是一個(gè)數(shù)字我隨便舉例的。

Kp = 0.5;
Ki = 0.2;
while (condition)
{
    error = (target value) – (sensor reading);
    integral = integral + error;
    speed = Kp*error + Ki*integral;
}      

前文告訴過(guò)你忽略時(shí)間增量,但我現(xiàn)在就解釋一下

Integral = integral + error*dT

增量時(shí)間是必須的,因?yàn)檠h(huán)不會(huì)總是花費(fèi)同樣的時(shí)間完成每個(gè)周期,但是當(dāng)每個(gè)周期花費(fèi)同樣的時(shí)間時(shí), dT可以合并到Ki中,如果每個(gè)周期不花費(fèi)同樣的時(shí)間,只需要將代碼用于每個(gè)周期,這樣你可以使用這個(gè)周期的時(shí)間作為你的增量時(shí)間

在這個(gè)教程里,我們將假設(shè)周期之間的時(shí)間總是相同的,因此dT將被并入Ki。

這里是關(guān)于積分的幾個(gè)問(wèn)題:

問(wèn)題1:

當(dāng)你的誤差幾近于0時(shí),你的積分可能任然是一個(gè)可以保持速度足夠高保持錯(cuò)誤的變化的值,方程只會(huì)自己達(dá)到0,如果它超過(guò)一個(gè)等于0 的誤差,那么負(fù)誤差就會(huì)減去現(xiàn)有的積分.所以,如果速度任然很高來(lái)保持誤差,我們將面臨一個(gè)問(wèn)題,是吧?

對(duì)于這個(gè)題,有一個(gè)非常簡(jiǎn)單的解決方案,那就是在誤差達(dá)到0時(shí)重新設(shè)置積分,如下所示

Kp = 0.5;
Ki = 0.2;
while (condition)
{
    error = (target value) – (sensor reading);
    integral = integral + error;
    if (error is 0)
    {
        integral = 0;
    }
    speed = Kp*error + Ki*integral;
}

問(wèn)題2:

它被稱為integral wind-up.它可以從一個(gè)大誤差開(kāi)始,一旦循環(huán)開(kāi)始運(yùn)行,積分將開(kāi)始構(gòu)建。所以,在這個(gè)積分需要的時(shí)候

使用時(shí),它的值已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)可用的值。有一些簡(jiǎn)單的解決辦法, 我列舉三個(gè)解決方案:

解決方案#1 –限制積分所能達(dá)到的值。如果太高,為什么不給它加個(gè)限度?一個(gè)限制可以寫(xiě)成如下:

if (integral is greater than or equal to the maximum value)
{
    integral = maximum value;
}

但是,如果積分太大,但它是負(fù)的形式(即,使速度相反)快速地,你需要重寫(xiě)和上面一樣的,但是為負(fù)的版本的積分。

解決方案#2 - 限制積分允許建立的范圍。因此,如果錯(cuò)誤對(duì)于積分來(lái)說(shuō)太大了,我們可以禁用該范圍的積分。

if ( error is greater than useful for the integral )
{
    disable the integral (set the integral to 0);
}

但同樣,就像在解決方案1中一樣,你需要重寫(xiě)相同的但要是積分的負(fù)值。或者,如果您的編程語(yǔ)言支持使用一個(gè)絕對(duì)值的工具,您可以使用它使代碼更短,也許更簡(jiǎn)單。
如何在代碼中實(shí)現(xiàn)絕對(duì)值的工具:

if ( abs(error) is greater than useful for the integral)
{
    disable the integral (set the integral to 0);
}

解決方案#3–限制積分允許積累的時(shí)間。這樣做有點(diǎn)復(fù)雜,但仍然可行。

對(duì)于本教程,我們將使用解決方案#2,因?yàn)樗亲詈?jiǎn)短的.
適合計(jì)算積分的范圍將為+/- 40,但只是一個(gè)隨機(jī)數(shù)。 下面代碼的完整版(如果剩下的話會(huì)被稱為“PI控制“[比例積分控制])將是這樣的:

Kp = 0.5;
Ki = 0.2;
while (condition)
{
    error = (target value) – (sensor reading);
    integral = integral + error;
    if (error = 0)
    {
        integral = 0;
    }
    if ( abs(error) > 40)
    {
        integral = 0;
    }
    speed = Kp*error + Ki*integral;
}

三、D - Derivative 導(dǎo)數(shù)

PID代碼的最后一點(diǎn)——導(dǎo)數(shù)!導(dǎo)數(shù)的工作就是預(yù)測(cè)未來(lái)的誤差價(jià)值,然后進(jìn)行相應(yīng)的速度行為。例如,如果它認(rèn)為它會(huì)過(guò)調(diào),會(huì)使它慢下來(lái)。

為了能夠預(yù)測(cè)下一個(gè)誤差,我們需要知道先前的誤差,然后找到這兩者的區(qū)別。
derivative = ( (current error) – (previous error) ) / dT

這個(gè)公式將發(fā)現(xiàn)當(dāng)前誤差和之前的誤差之間的變化,然后我們可以通過(guò)將其添加到當(dāng)前誤差中來(lái)預(yù)測(cè)下一個(gè)誤差。就像積分一樣,導(dǎo)數(shù)是由dT影響的,但是一個(gè)循環(huán)的周期話費(fèi)的時(shí)間總是相同的,dT可以合并到Kd。

這里有一個(gè)表,展示了未來(lái)可能發(fā)生的誤差的例子,通過(guò)導(dǎo)數(shù)計(jì)算的:

Current error Previous error Next error (error + derivative)
50 55 45
20 30 10
2 3 1
5 15 -5

在我們的代碼中,導(dǎo)數(shù)是用上面的方程計(jì)算出來(lái)的,然后加到速度上(在這里也乘以Kd來(lái)達(dá)到縮放的目的)。

我們需要?jiǎng)?chuàng)建一個(gè)新的整數(shù),來(lái)命名先前的誤差(或者任何一個(gè)你喜歡的方式,只要它表示之前的誤差值),我們讓它更新自己在我們我們計(jì)算完導(dǎo)數(shù)后。我們可以用簡(jiǎn)單的方式讓它更新,設(shè)置它的值為誤差值。

一下是完整的控制PID的偽代碼:

Kp = 0.5;
Ki = 0.2;
Kd = 0.1;
while (condition)
{
    error = (target value) – (sensor reading);
    integral = integral + error;
    if (error = 0)
    {
        integral = 0;
    }
    if ( abs(error) > 40)
    {
        integral = 0;
    }
    derivative = error – previous_error;
    previous_error = error;
    speed = Kp*error + Ki*integral + Kd*derivative;
}

四、調(diào)整常數(shù)項(xiàng)

這是費(fèi)時(shí)又費(fèi)力的工作。 有很多不同的方法來(lái)調(diào)整Kp,Ki和Kd,我會(huì)盡我所能地解釋一下他們。 調(diào)整PID常數(shù)可以通過(guò)計(jì)算機(jī)程序完成,通過(guò)數(shù)學(xué)計(jì)算或通過(guò)手動(dòng)調(diào)整, 我強(qiáng)烈建議您隨時(shí)查看誤差,速度等等,所以你可以看到距離到達(dá)目標(biāo)還剩下多少需要改變。 使用調(diào)試器或類(lèi)似的監(jiān)視工具來(lái)檢查結(jié)果。

首先,了解調(diào)節(jié)PID控制器的規(guī)則很重要。 當(dāng)每個(gè)常數(shù)增加時(shí)有什么改變?nèi)缦卤硭尽?常數(shù) 術(shù)語(yǔ)在左側(cè)的列中,并且它們具有的效果在頂行列出。

效果如下:

  • Rise time - 從起點(diǎn)到目標(biāo)點(diǎn)所需的時(shí)間
  • Overshoot - 改變的量太大了; 值比錯(cuò)誤更大
  • Settling time - 遇到變化時(shí)需要解決的時(shí)間
  • Steady-state error - 均衡時(shí)的誤差
  • Stability - 速度的“平滑度”

當(dāng)每個(gè)常數(shù)增加時(shí)會(huì)發(fā)生什么?

Constant: Rise time: Overshoot: Settling Steady-state Stability: Stability:
Kp decrease increase Small change decrease degrade
Ki decrease increase increase decrease degrade
Kd minor change decrease decrease No effect Improve (if small enough)

手工調(diào)優(yōu):

手動(dòng)調(diào)優(yōu)是完全由你自己完成的——沒(méi)有涉及到數(shù)學(xué),但有時(shí)也會(huì)有些低效。我個(gè)人使用手動(dòng)調(diào)優(yōu)方法,因?yàn)槲铱梢詼睾偷卦黾用恳粋€(gè)常量,并且知道什么時(shí)候會(huì)變得太高,而像ziegler - nichols方法這樣的數(shù)學(xué)方法,你永遠(yuǎn)不會(huì)知道事情會(huì)怎樣發(fā)展,直到你嘗試之后。畢竟,在理論上,實(shí)踐和理論是一樣的,但在實(shí)踐中,它們不是。我調(diào)整常量的方式如下:

1.將Kp、Ki和Kd設(shè)置為0。這將使他們暫時(shí)癱瘓。

2.增加Kp直到誤差相當(dāng)小,但是它仍然從開(kāi)始到結(jié)束足夠快。

3.增加Kd,直到任何超過(guò)你可能擁有的覆蓋。但是小心Kd——太多會(huì)使它過(guò)度

4.增加Ki,直到任何仍然存在的錯(cuò)誤被消除。從一個(gè)非常小的數(shù)字開(kāi)始,不要驚訝,如果它小到0.0001甚至更小。

5.使用調(diào)整常量的規(guī)則(在上一頁(yè)的表格中),您可以稍微更改一些常量,以使其工作到最佳性能。

數(shù)學(xué)方式

@todo 試過(guò)再補(bǔ)充

工具方式

@todo試過(guò)再補(bǔ)充

五、補(bǔ)充

while循環(huán):

您可能已經(jīng)注意到,在我的所有偽代碼示例中,我將主代碼放在while循環(huán)中。 這是因?yàn)檎`差變化時(shí)需要重新計(jì)算誤差,積分,微分和速度。 例如,如果您將速度計(jì)算一次,但不再次計(jì)算,則無(wú)法重新刷新并相應(yīng)地更改速度 - 它將以原始速度繼續(xù)運(yùn)行!

循環(huán)對(duì)PID控制器至關(guān)重要 - 不要忘記添加一個(gè)!

那么,你如何讓它最終退出循環(huán),每次當(dāng)它完成了它的工作?

其中的一個(gè)常見(jiàn)的方法是,如果你知道它需要多長(zhǎng)時(shí)間才能完成,你 可以將循環(huán)設(shè)置為指定的時(shí)間量(但顯然比它需要的稍微多一點(diǎn)),以確保它確實(shí)完成了循環(huán)。

另一種方法是檢測(cè)一旦誤差達(dá)到零,并且已經(jīng)完成。如果你選擇這種方式,一定要注意確保它已經(jīng)完全停止。舉個(gè)例子,如果你告訴它運(yùn)行循環(huán)直到誤差達(dá)到0,如果有任何過(guò)度,沒(méi)什么能做的,因?yàn)樗鼘?huì)停止(過(guò)度,錯(cuò)誤必須通過(guò)一個(gè)點(diǎn)(0)。所以,你可以得到循環(huán)多長(zhǎng)時(shí)間內(nèi)誤差保持在0。如果它只是在一個(gè)非常短的時(shí)間內(nèi)處于0,那么很有可能它已經(jīng)被過(guò)度并且需要重新調(diào)整自己。或者,如果它在一段較長(zhǎng)時(shí)間內(nèi)保持在0的值,那么說(shuō)它已完全停止是安全的。

重新設(shè)置積分和之前的錯(cuò)誤:

我前面已經(jīng)講過(guò)了,有時(shí)你需要把積分重置為0,但是最后一次需要0的值。當(dāng)您開(kāi)始循環(huán)時(shí),代碼會(huì)自動(dòng)假設(shè)這個(gè)積分是0,之前的誤差是它應(yīng)該的值。但是,如果循環(huán)已經(jīng)運(yùn)行,那么這個(gè)積分的值和之前的錯(cuò)誤仍然是原來(lái)的值。

這可以通過(guò)在循環(huán)開(kāi)始之前設(shè)置積分值和前一個(gè)錯(cuò)誤的值來(lái)確定。

六、總結(jié)

Proportional-你的誤差,在真實(shí)值和預(yù)期值之間。

​ error = (target value) – (sensor reading)

Integral – 先前誤差的運(yùn)行和,用于在誤差很小的時(shí)候進(jìn)行精細(xì)的調(diào)整。

​ integral = integral + error*dT

Derivative – 誤差的變化,用來(lái)預(yù)測(cè)下一個(gè)誤差可能是什么。

​ derivative = ( (current error) – (previous error) ) / dT

The loop – 所有的計(jì)算都需要在循環(huán)中運(yùn)行-不要忘記包含它!

將三個(gè)組件放在一起,再加上一些對(duì)Kp、Ki和Kd的精確值,您將擁有一個(gè)非常一致和精確的控制器。

七、調(diào)試口訣

參數(shù)整定找最佳,從小到大順序查,先是比例后積分,最后再把微分加,
曲線振蕩很頻繁,比例度盤(pán)要放大,曲線漂浮繞大灣,比例度盤(pán)往小扳,
曲線偏離回復(fù)慢,積分時(shí)間往下降,曲線波動(dòng)周期長(zhǎng),積分時(shí)間再加長(zhǎng),
曲線振蕩頻率快,先把微分降下來(lái),動(dòng)差大來(lái)波動(dòng)慢,微分時(shí)間應(yīng)加長(zhǎng),
理想曲線兩個(gè)波,前高后低4比1

八、具體方法

(1)確定比例系數(shù)Kp

確定比例系數(shù)Kp時(shí),首先去掉PID的積分項(xiàng)和微分項(xiàng),可以令Ti=0、Td=0,使之成為純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許輸出最大值的60%~70%,比例系數(shù)Kp由0開(kāi)始逐漸增大,直至系統(tǒng)出現(xiàn)振蕩;再反過(guò)來(lái),從此時(shí)的比例系數(shù)Kp逐漸減小,直至系統(tǒng)振蕩消失。記錄此時(shí)的比例系數(shù)Kp,設(shè)定PID的比例系數(shù)Kp為當(dāng)前值的60%~70%。

(2)確定積分時(shí)間常數(shù)Ti

比例系數(shù)Kp確定之后,設(shè)定一個(gè)較大的積分時(shí)間常數(shù)Ti,然后逐漸減小Ti,直至系統(tǒng)出現(xiàn)振蕩,然后再反過(guò)來(lái),逐漸增大Ti,直至系統(tǒng)振蕩消失。記錄此時(shí)的Ti,設(shè)定PID的積分時(shí)間常數(shù)Ti為當(dāng)前值的150%~180%。

(3) 確定微分時(shí)間常數(shù)Td

微分時(shí)間常數(shù)Td一般不用設(shè)定,為0即可,此時(shí)PID調(diào)節(jié)轉(zhuǎn)換為PI調(diào)節(jié)。如果需要設(shè)定,則與確定Kp的方法相同,取不振蕩時(shí)其值的30%。

(4) 系統(tǒng)空載、帶載聯(lián)調(diào)

對(duì)PID參數(shù)進(jìn)行微調(diào),直到滿足性能要求。

以上就是詳解PID控制器原理的詳細(xì)內(nèi)容,更多關(guān)于PID控制器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法

    在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法

    這篇文章主要介紹了在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法,分別介紹了strcmp()函數(shù)和strcasecmp()函數(shù),注意功能區(qū)分,需要的朋友可以參考下
    2015-08-08
  • 老生常談C語(yǔ)言鏈表小結(jié)

    老生常談C語(yǔ)言鏈表小結(jié)

    鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的 ,這篇文章主要介紹了C語(yǔ)言鏈表,需要的朋友可以參考下
    2021-11-11
  • C語(yǔ)言實(shí)現(xiàn)圖的鄰接矩陣存儲(chǔ)操作

    C語(yǔ)言實(shí)現(xiàn)圖的鄰接矩陣存儲(chǔ)操作

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)圖的鄰接矩陣存儲(chǔ)操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Qt處理焦點(diǎn)事件(獲得焦點(diǎn),失去焦點(diǎn))

    Qt處理焦點(diǎn)事件(獲得焦點(diǎn),失去焦點(diǎn))

    本文主要介紹了Qt處理焦點(diǎn)事件(獲得焦點(diǎn),失去焦點(diǎn)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • OpenCV c++滑動(dòng)條的創(chuàng)建和使用代碼

    OpenCV c++滑動(dòng)條的創(chuàng)建和使用代碼

    滾動(dòng)條(Trackbar)在OpenCV中是非常方便的交互工具,它依附于特定的窗口而存在,下面這篇文章主要給大家介紹了關(guān)于OpenCV?c++滑動(dòng)條的創(chuàng)建和使用的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • C語(yǔ)言實(shí)現(xiàn)字符串替換的示例代碼

    C語(yǔ)言實(shí)現(xiàn)字符串替換的示例代碼

    本文主要介紹了C語(yǔ)言實(shí)現(xiàn)字符串替換的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++中的作用域案例詳解

    C++中的作用域案例詳解

    作用域規(guī)定了標(biāo)識(shí)符在代碼中的可見(jiàn)性和可訪問(wèn)性,全局作用域中的標(biāo)識(shí)符可以在整個(gè)程序中使用,局部作用域中的標(biāo)識(shí)符只能在其所在的代碼塊中使用,而命名空間作用域提供了一種組織和封裝代碼的方式,以避免命名沖突,這篇文章主要介紹了C++中的作用域,需要的朋友可以參考下
    2024-02-02
  • C?C++輸入輸出基礎(chǔ)教程示例詳解

    C?C++輸入輸出基礎(chǔ)教程示例詳解

    當(dāng)我們?cè)诰W(wǎng)站做題的時(shí)候經(jīng)常會(huì)遇到各種要求的輸入輸出,而且會(huì)有時(shí)間超限等多個(gè)問(wèn)題,這時(shí)我們就要優(yōu)化我們的輸入輸出或者規(guī)范我們的輸入輸出格式,下面介紹C和C++中的輸入輸出問(wèn)題,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2023-11-11
  • Effective C++ 入門(mén)學(xué)習(xí)筆記

    Effective C++ 入門(mén)學(xué)習(xí)筆記

    這篇文章主要介紹了Effective C++ 入門(mén)學(xué)習(xí)筆記,需要的朋友可以參考下
    2023-08-08
  • C++17 使用 std::string_view避免字符串拷貝優(yōu)化程序性能

    C++17 使用 std::string_view避免字符串拷貝優(yōu)化程序性能

    這篇文章主要介紹了C++17 使用 std::string_view避免字符串拷貝優(yōu)化程序性能,幫助大家提高程序運(yùn)行速度,感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論