在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ C++問答
溫衫 回答

兩種情況:
1,同步函數(shù)

這個簡單,順序執(zhí)行就可以了

2,異步函數(shù)(我猜你是這種情況)async await可以解決

async function a() {
    return Promise.resolve("a");
}
async function b() {
    return Promise.resolve("b");
}
async function c() {
    await a();
    await b();
    console.log('執(zhí)行c')
}
c();
笑忘初 回答

你把這個看成一個數(shù)學問題
階乘是什么?
f(1) = 1
f(n) = n * f(n-1)
所以就是

def f(n):
  if n <= 0:
    return 0
  if n == 1:
    return 1
  return n * f(n-1)
逗婦惱 回答

example 3 是擴展性比較好的寫法。說擴展性好是指在增加新的 Data 類型時不要改動任何代碼。第二種模板的方式要求 Data 類型必須具有一致的結構才可以,太脆弱了。
example 3 的問題是對使用者不友好,每次調用都要寫 lambda, 如果有大量的調用就顯得代價過高了??梢酝ㄟ^提取輔助函數(shù)的方式解決(或者寫成 User 類的構造函數(shù)),每增加一個 Data 類型就對應增加這樣一個輔助函數(shù)(或者構造函數(shù))
當然,以上只適合示例代碼中這種簡單邏輯。實際項目中可能復雜的多,比如要訪問十幾種 Data 類型中的十幾個成員,這時候就有必要加一個抽象層了,所有的 User 類從一個公共的接口繼承下來,每種或者每幾種 Data 類型對應一種實現(xiàn)?;蛘甙殉橄蠼涌诜旁趦炔?,User 類作為對該抽象接口調用的一個包裝類,這種方式的好處是抽象層在內部可以隨時修改。
具體怎么做只能具體問題具體分析了。

孤客 回答

tox, github上有N多個不同平臺的客戶端, 支持實時音視頻

青黛色 回答

書上也許有錯誤的地方。你理解也有不準確的地方。其實你都可以自己實驗得到。

tell單獨用,指的是整個數(shù)組。但放入一些表達式中時,會被隱式轉換為第一個元素的指針。

cout << sizeof(tell) << endl; // 輸出20,即整個數(shù)組的大小
cout << sizeof(tell + 1) << endl; // 輸出4或8,即一個指針的大小(32位或64位的指針大小不同)
cout << tell << endl; // 輸出一個地址
cout << tell + 1 << endl; // 比上一個地址大2,即1個short的大小

&tell沒有懸念,指的是指向整個數(shù)組的指針。

cout << &tell << endl; // 輸出一個地址
cout << &tell + 2 << endl; // 比上一個地址大40

至于short (*)[20],沒見過這樣的寫法。

柒槿年 回答
int fac(int &&a, int &&b) {
  if (b == 0)
    return a > 0 ? fac(a-1, 0) * a : 1;
  return fac(a+b, 0);
}

int fac(int &&a, int &&b) {
  if (a > 0)
    return fac(a-1, b+0) * (a+b);
  else if (b > 0)
    return fac(a+0, b-1) * (a+b);
  else
    return 1;
}
維她命 回答

析構函數(shù)忘定義了

玩控 回答

其實這個問題,很簡單,分析一下就知道了。分析如下:

var str = "我是/@小王@\\和/@小李@\\的好朋友"

你要轉成

  var arr = [{"text": "我是"}, {"name": 小王"}, {"text": "和"}, {"name": "小李"}, {"text": "的好朋友"}]

以我看來就是,通過/@和@\把字符串分割,并且以/@結尾的放到text屬性中,以@\結尾的放到name中,并且保持原有順序。
既然是有兩個分割字符,那么我們就分割兩次。我簡單寫了一下,但是沒有做太多檢驗和判斷。回頭你對參數(shù)做下校驗。

我的代碼如下:

var str = "我是/@小王@\\和/@小李@\\的好朋友";
    var strs = str.split("/@");
    var arr = new Array();
    for (var i = 0 ;i < strs.length;i++)
    {
        if(strs[i].indexOf('@\\') != -1)
        {
            var temps = strs[i].split('@\\');
            for(var j=0;j<temps.length;j++)
            {
                if(j == temps.length -1)
                {
                    var text =
                    {
                        text:temps[j]
                    }
                }else
                {
                    var name =
                    {
                        name:temps[j]
                    }
                }
            }
        }else
        {
            var text =
            {
                text:strs[i]
            }
        }
        if(name != null && '' != name && 'undifined' != name)
        {
            arr.push(name);
        }
        if(text != null && '' != text && 'undifined' != text)
        {
            arr.push(text);
        }
    }
    console.log(arr);
那么,最后控制臺輸入如下:

圖片描述

如果沒問題,請采納,謝謝。

凝雅 回答

MDN的new運算解釋

如果構造函數(shù)返回了一個“對象”,那么這個對象會取代整個new出來的結果。

var aa = new a(name);
也就是說 aa 就是{say1:say}這個對象了,他是不具有say2的!

陌南塵 回答

補充一個使用循環(huán)的實現(xiàn)
現(xiàn):保證數(shù)組的序列是有序的連續(xù)的

$data = [
    ['AAA', 'aaa', 'aAa'],
    ['BBB', 'bbb', 'bBb'],
    ['CCC', 'ccc', 'cCc'],
];

$result = [];
foreach (array_keys($data) as $k) {
    $tmp = [];
    if (empty($result)) {
        $result = $data[$k];
    } else {
        foreach ($result as $item1) {
            foreach ($data[$k] as $item2) {
                $tmp[] = $item1 . '-' . $item2;
            }
        }
        $result = $tmp;
    }
}
var_dump($result);
懶豬 回答

了解一下https://wkhtmltopdf.org/

張老師寫過文章:http://www.cnblogs.com/shanyo...

C#版本的話,我用過WkHtmlToXSharp 和[WkHtmlToXDotNet](https://github.com/TimothyKho...
前者用的人比較多,后者一般般.
注意一點,不要在IIS中使用WkHtmlToXSharp方案,有內存泄漏風險,在桌面環(huán)境就隨便玩了;
直接調用wkhtmltopdf.exe的話就無所謂了.

嘟尛嘴 回答
  1. 你nm命令看到的那些符號的“U”表示未定義的,你可以看到它們前面沒有內存地址信息,這些符號是定義在你引入的mxml庫中的。

  2. 你是在生成可執(zhí)行程序main的失敗報錯的吧,如果是在編譯的時候再加上-lmxml選項,并使用-L選項指定mxml庫所在的目錄。

  3. 運行時可能會遇到提示找不到libmxml.so**庫的錯誤提示,可以把libmxml.so**庫發(fā)布到/usr/lib64目錄下,或者把libmxml.so**所在目錄配置到/etc/ld.so.conf中,然后執(zhí)行l(wèi)dconfig即可。

淺淺 回答

*.cpp文件沒有加入CMakeLists.txt中, 檢查一下這個文件吧.

扯不斷 回答

@felix 老大已經(jīng)完全解答了OP你的問題, 窩稍微做點微不足道的補充:

  1. 將其聲明為類模板的友元會破壞類的封裝性, 比如X<int>的友元函數(shù)foo此時會對所有X<T>可見. 那么就等于X<int>間接不合理的獲取了所有X<T>的信息(比如其private member). 所以不建議使用, 比如下段代碼可以過編譯.
#include<iostream>
using namespace std;
template<typename T>
class A
{
private:
    T x;
    void setter(T y)
    {
        x = y;
    }
public:
    explicit A(T a) : x(a) {}
    template<typename U>
    friend void foo(A<U> a);
};
A<int> x(7);
template<typename U>
void foo(A<U> a)
{
    x.x = 2;
}
int main()
{
    A<int> a(7);
    A<float> b(1.1);
    foo(b);
}
  1. 還有第三種方式, 是使用前置聲明的方法, 詳見下面代碼.
  2. 首先靜態(tài)成員變量count需要在類外定義從c++1z開始可能需要改成首先non-constexpr的靜態(tài)成員變量count需要在類外定義。詳見http://eel.is/c++draft/depr.s... . demo可以在寫個odr-use函數(shù)試出.
  3. 題主你的const出問題了.
#include<iostream>
using namespace std;

template<class T, int n>
class Array;

template<class T, int n>
 istream & operator>> (istream & in, Array<T,n>& a);


template<class T,int n>
ostream & operator << (ostream & out,const Array<T,n>& a);

template<class T, int n>
class Array
{
private:
    T p[n];
    static int count;
public:
    friend istream & operator>> <> (istream & in, Array<T,n>& a);
    friend ostream & operator << <> (ostream & out,const Array<T,n>& a);
    int getSize()
    {
        return n;
    }
    static int getArrayCount()
    {
        return count;
    }
};
template<class T,int n>
istream & operator >> (istream & in, Array<T,n>& a)
{
    for(int i=0;i<n;i++)
    {
        in>>a.p[i];
    }
    a.count++;
    return in;
}
template<class T,int n>
ostream & operator << (ostream & out,const Array<T,n>& a)
{
    for(int i=0;i<n;i++)
    {
        out<<a.p[i]<<" ";
    }
    return out;
}

template<class T, int n>
int Array<T, n>::count = 0;


int main()
{
    Array< int, 5 > intArray1;
    cin >> intArray1;
    Array< int, 5 > intArray2;
    cin >> intArray2;
    Array< float, 5 > floatArray;
    cin >> floatArray;
    cout << "\nIntArray1 contains " << intArray1.getSize() << " Elements.\n";
    cout << "The values in intArray are:\n";
    cout << intArray1;
    cout << "\nIntArray2 contains " << intArray2.getSize() << " Elements.\n";
    cout << "The values in intArray are:\n";
    cout << intArray2;
    cout << "\nDoubleArray contains " << floatArray.getSize() << " Elements.\n";
    cout << "The values in the doubleArray are:\n";
    cout << floatArray;
    cout << "\nThere are " << Array<int,5>::getArrayCount() << " Array<int,5> objects.\n";
    cout << "\nThere are " << Array<float,5>::getArrayCount() << " Array<float,5> objects.\n";
    return 0;
}
離殤 回答

很簡單的問題,npm這個報錯我也是服了,就是flash這個用戶名被注冊過了,換一個就好了,我解決了在這里記錄一下,怕以后忘了...

夏木 回答

如果確定是計算密集確實不適合使用python中的多線程,但是是可以考慮使用多進程的。你不需要通過自己創(chuàng)建一個queue來進行內部分流,即使需要一個Queue, 也是需要通過給Queue設置大小來限制Queue的流量。

以rabbitmq為例, 請看https://www.rabbitmq.com/tuto...

在rabbitmq的官方例子中,是使用pika做為rabbitmq的客戶端的, 消息模型應該是和你的是一致的,稍微修改一下官方的work.py例子,通過建立多個rabbitmq客戶端來消費消息:

#!/usr/bin/env python
import pika
import time
from concurrent.futures import ProcessPoolExecutor
# from concurrent.futures import ThreadPoolExecutor


connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))

channels = [
    (1, connection.channel(1)),
    (2, connection.channel(2)),
    (3, connection.channel(3)),
]

def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)
    time.sleep(0.2)
    print(" [x] Done: %s" % ch.channel_number)
    ch.basic_ack(delivery_tag=method.delivery_tag)


for _, channel in channels:
    channel.queue_declare(queue='task_queue', durable=True)
    channel.basic_qos(prefetch_count=1)
    channel.basic_consume(callback, queue='task_queue')


def start_consumer(channel_name):
    dict(channels).get(channel_name).start_consuming()


print(' [*] Waiting for messages. To exit press CTRL+C')

with ProcessPoolExecutor(max_workers=len(channels)) as e:
    e.map(start_consumer, range(1, 4))

# with ThreadPoolExecutor(max_workers=len(channels)) as e:
#     e.map(start_consumer, range(1, 4))

彈性的創(chuàng)建worker我覺的從程序(worker.py)內部去實現(xiàn)是比較困難的,從程序外部來看更容易實現(xiàn), 首先監(jiān)控流量, 流量增大可以通過啟動更多的worker.py腳本來加快消息的消費; 反之, 減少worker.py啟動的數(shù)量。

青裙 回答

設置心跳檢測時間試試
array(

'heartbeat_idle_time' => 600,
'heartbeat_check_interval' => 60,

);
https://wiki.swoole.com/wiki/...

獨特范 回答

只有0和-1才能這樣初始化吧

壞脾滊 回答

你的token在哪里??

  • 如果是放在cookie中,就不用管了,ajax自己會帶上的。
  • 如果不是,header上手動放入token,一下舉例
$.ajax({
????type:"POST",
????url:url,
????data:formData,
????//在請求前設置請求頭 在請求頭里面設置設置請求頭的信息
????beforeSend: function(request) {
????????????request.setRequestHeader("Authorization", token1);
????},
????success:function(res){
????    console.log(res);
????}
});
心上人 回答

后面你維護的時候,原則上只需要保證那些暴露出去的方法的兼容性即可。