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

c++遍歷lua table示例

 更新時(shí)間:2014年04月30日 10:08:39   作者:  
這篇文章主要介紹了c++遍歷lua table示例,需要的朋友可以參考下

c/c++從棧上獲取Lua壓棧過來的table數(shù)據(jù)

復(fù)制代碼 代碼如下:

map<string,string> traverse_table(lua_State *L, int index)
{
 map<string,string> data;
    lua_pushnil(L);
    // 現(xiàn)在的棧:-1 => nil; index => table
 index = index - 1;
    while (lua_next(L, index))
    {
        // 現(xiàn)在的棧:-1 => value; -2 => key; index => table
        // 拷貝一份 key 到棧頂,然后對(duì)它做 lua_tostring 就不會(huì)改變?cè)嫉?key 值了
        lua_pushvalue(L, -2);
        // 現(xiàn)在的棧:-1 => key; -2 => value; -3 => key; index => table

        const char* key = lua_tostring(L, -1);
        const char* value = lua_tostring(L, -2);

  data[key]=value;
        // 彈出 value 和拷貝的 key,留下原始的 key 作為下一次 lua_next 的參數(shù)
        lua_pop(L, 2);
        // 現(xiàn)在的棧:-1 => key; index => table
    }
    // 現(xiàn)在的棧:index => table (最后 lua_next 返回 0 的時(shí)候它已經(jīng)把上一次留下的 key 給彈出了)
    // 所以棧已經(jīng)恢復(fù)到進(jìn)入這個(gè)函數(shù)時(shí)的狀態(tài)
 return data;
}

相關(guān)文章

  • C++ 面試題翻譯電話號(hào)碼實(shí)例代碼

    C++ 面試題翻譯電話號(hào)碼實(shí)例代碼

    這篇文章主要介紹了C++ 面試題翻譯電話號(hào)碼實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 詳解C++的靜態(tài)內(nèi)存分配與動(dòng)態(tài)內(nèi)存分配

    詳解C++的靜態(tài)內(nèi)存分配與動(dòng)態(tài)內(nèi)存分配

    內(nèi)存分配 (Memory Allocation) 是指為計(jì)算機(jī)程序或服務(wù)分配物理內(nèi)存空間或虛擬內(nèi)存空間的一個(gè)過程,本文主要介紹了C++的靜態(tài)內(nèi)存分配與動(dòng)態(tài)內(nèi)存分配,感興趣的同學(xué)可以參考閱讀
    2023-06-06
  • C/C++實(shí)現(xiàn)線性順序表的示例代碼

    C/C++實(shí)現(xiàn)線性順序表的示例代碼

    使用順序存儲(chǔ)結(jié)構(gòu)的線性存儲(chǔ)結(jié)構(gòu)的表為線性順序表。本文將分別利用C語言和C++實(shí)現(xiàn)線性順序表,文中示例代碼講解詳細(xì),需要的可以參考一下
    2022-05-05
  • C語言實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲

    C語言實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • C++ OpenCV實(shí)現(xiàn)像素畫的示例代碼

    C++ OpenCV實(shí)現(xiàn)像素畫的示例代碼

    這篇文章主要介紹了通過OpenCV進(jìn)行圖片像素的變化,從而形成像素畫效果的功能。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手試一試
    2022-01-01
  • C++中繼承(inheritance)詳解及其作用介紹

    C++中繼承(inheritance)詳解及其作用介紹

    這篇文章主要介紹了C++中繼承(inheritance)詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • C++中鏈表操作實(shí)例分析

    C++中鏈表操作實(shí)例分析

    本文給大家分享了個(gè)人對(duì)于C++中鏈表操作的理解,并對(duì)具體實(shí)例進(jìn)行了分析,是篇非常不錯(cuò)的學(xué)習(xí)鏈表操作的文章,希望大家能夠喜歡
    2017-07-07
  • C語言三個(gè)函數(shù)的模擬實(shí)現(xiàn)詳解

    C語言三個(gè)函數(shù)的模擬實(shí)現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了C語言三個(gè)函數(shù)的模擬實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 實(shí)例代碼講解c++ 繼承特性

    實(shí)例代碼講解c++ 繼承特性

    這篇文章主要介紹了c++ 繼承特性的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C語言中將日期和時(shí)間以字符串格式輸出的方法

    C語言中將日期和時(shí)間以字符串格式輸出的方法

    這篇文章主要介紹了C語言中將日期和時(shí)間以字符串格式輸出的方法,分別是ctime()函數(shù)和asctime()函數(shù),注意參數(shù)區(qū)別,需要的朋友可以參考下
    2015-08-08

最新評(píng)論