在下面的代码中,为什么第二次list_front调用后会发生变化gen_list?gen_list正在创建一个新列表,这如何更改以前的列表头?
#include <iostream>
#include <list>
std::list<int> gen_list()
{
static int s_count = 0;
std::list<int> result;
for (int i = 0; i < 5; i++)
{
result.push_back(s_count++);
}
return result;
}
int main()
{
const auto& list_front = gen_list().front();
std::cout<<list_front<<"\n";
gen_list();
std::cout<<list_front<<"\n";
}
Run Code Online (Sandbox Code Playgroud)
结果:
0
9
Run Code Online (Sandbox Code Playgroud)
我用来生成和glm::linearRand(-1.0f, 1.0f)之间的随机浮点数。然后,我输出正数(或以上)的百分比。-110.0f
std::srand(time(0)); // Give glm a new seed
uint32_t samples = 1000000000;
uint32_t positive = 0;
uint32_t negative = 0;
for (uint32_t i = 0; i < samples; i++) {
float rand = glm::linearRand(-1.0f, 1.0f);
if (rand >= 0.0f) {
positive++;
} else {
negative++;
}
}
std::cout << "positive %: " << std::setprecision(6) << ((float)positive / samples) * 100 << std::endl;
Run Code Online (Sandbox Code Playgroud)
49.6%无论我运行程序的频率如何(使用不同的种子!),正数的百分比总是以 左右结束。如果我正确理解浮点数,则-1.0f和0.0f之间的数与0.0f和之间的数同样多1.0f。
那么为什么这个程序生成的负数总是多于正数呢? …
const_iterator如果您将地图定义为,如何使用find
pair
map<int, int>
用const_iterator定义为键.
如果它只是const_iterator,我知道如何使用pair喜欢
map<int, int>
const_iterator
等等..
在UI中,我有一些视图,哪些内容是可伸缩的,但应该保留一些宽高比.此宽高比在运行时更改,并且在描述宽高比的某些属性更改时应更新视图布局.
我已曝光NSLayoutConstraint,但其用于宽高比的属性:multiplier是只读的.什么是更有趣的类似财产constant可以改变.
intrisicContentSize和sizeThatFits:,但我不知道如何应该使用NSLayoutConstraint问题很简单。我有多平台项目(Windows/ Mac OS)。
现在,如果Mac OS我需要在我的包(它是 launchd 守护进程)的功能部分启用“强化运行时”。
我希望我的 Xcode 项目是由cmake(我不想维护多个项目文件)生成的。如果我可以通过修改构建过程(例如通过向xcodebuidl命令添加一些标志)来克服这个问题,那应该没问题,但我更喜欢在CMakeLists.txt文件中定义所有内容。
我正在处理经常使用一些重要优化的代码。是什么
#define idiv(a, b) (((a) + (b) / 2) / (b))
Run Code Online (Sandbox Code Playgroud)
用于?为什么不简单
#define idiv(a, b) ((a)/(b) + 0.5)
Run Code Online (Sandbox Code Playgroud)
是整数除法溢出保护还是其他什么?
我与发送功能UITextField并排UIButton.当用户按下发送按钮时,我正在执行简单的操作:
- (IBAction)sendMessage: (id)sender {
[self.chatService sendMessage: self.messageTextField.text];
self.messageTextField.text = @""; // here I get exception
}
Run Code Online (Sandbox Code Playgroud)
现在,当用户从键盘开始使用听写时,然后按下听写视图(键盘)并立即按下发送按钮,我有异常"范围或索引越界".
我注意到,当语音识别服务器处理数据时,其他应用程序会禁用此"发送"按钮.这恰好在两个事件之间:用户按下"完成",结果出现在文本字段中.我希望以同样的方式解决它.
我在文档中找到可以接收此通知的问题.我找到了UITextInput协议,但这不是我需要的.
[UITextInputMode currentInputMode].primaryLanguage相等时禁用发送按钮@"dictation".通知UITextInputCurrentInputModeDidChangeNotification该报告的听写模式结束之前到达听写服务提交新的价值,我仍然能够点击发送按钮引起异常.当primaryLanguage 损失@"听写"值时,我可以增加延迟,但我不喜欢这种方法.最可能的是,这种所需的延迟取决于语音识别服务的响应程度.UIControlEventEditingDidBegin,UIControlEventEditingChanged,UIControlEventEditingDidEnd,UIControlEventEditingDidEndOnExit).好消息是它看起来像是UIControlEventEditingChanged在所需的时刻完全被解雇:当用户在听写视图上按"完成"并且当服务提交或结束听写时.所以这是我迄今为止最好的概念.该坏事是,这是在其他情况下被炒得并没有信息在这种情况下,这个控制事件被解雇区分开来,所以我不知道我应该禁用或启用按钮,或者什么都不做.在 iOS 上,当我尝试从有效标识符构造 C++ 语言环境时,我的程序崩溃了:
由于未捕获的异常“collate_byname::collate_byname 未能为 en 构造”而终止应用程序,原因:“collate_byname::collate_byname 未能为 en 构造”
在这一行:
std::locale loc("en");
Run Code Online (Sandbox Code Playgroud)
这在其他平台上运行良好。这是平台上存在的有效区域设置标识符(我尝试使用来自 CFLocale 的标识符)。
例如,我的程序需要 C++std::locale来格式化日期和数字。
也许我需要在构建中包含其他库?
我正在使用最新的 XCode 9.4.1 及其包含的 libc++,它在 iOS 11.4.1 上运行。其他 C++ 功能在那里工作得很好。
不幸的是,没有办法用可移植的 C++ 列出可用的语言环境,尽管我尝试过的所有语言环境都列在 NSLocale.availableLocaleIdentifiers 中
在我的Cocoa应用程序中,我想向用户显示可用的网络接口列表,如Wireshark所做的:

获得这样一个列表的最佳方法是什么?Apple是否为此提供了框架,还是我必须使用标准库或其他库中的C API?
我在主程序中创建了一个线程,一旦主程序终止,线程执行就必须停止。我reader.join();用来终止线程执行。但它并没有停止执行。
我尝试使用下面提到的代码,我正在使用thread.join();函数,但它无法终止线程。在主程序之后,我的线程也继续执行。
#include <algorithm>
#include <array>
#include <atomic>
#include <mutex>
#include <queue>
#include <cstdint>
#include <thread>
#include <vector>
using namespace std;
using namespace std::chrono;
typedef pair<int, Mat> pairImage;
class PairComp {
public:
bool operator()(const pairImage& n1, const pairImage& n2) const
{
if (n1.first == n2.first)
return n1.first > n2.first;
return n1.first > n2.first;
}
};
int main(int argc, char* argv[])
{
mutex mtxQueueInput;
queue<pairImage> queueInput;
int total = 0;
atomic<bool> bReading(true);
thread reader([&]() {
int idxInputImage …Run Code Online (Sandbox Code Playgroud) c++ ×6
ios ×3
c++11 ×2
macos ×2
objective-c ×2
autolayout ×1
cmake ×1
cocoa ×1
dictionary ×1
glm-math ×1
mutex ×1
networking ×1
optimization ×1
pthreads ×1
random ×1
uitextfield ×1
xcode ×1