我有这个功能:
std::string SWindows::PRecv(int rc, std::string* ip);
Run Code Online (Sandbox Code Playgroud)
在这个函数中,在某些情况下我返回NULL并且代码编译(IDE:VS 2012).对我来说,NULL它不是一个std :: string对象所以我们不能写它.
那么为什么在函数返回std :: string时返回NULL是正确的呢?
我使用passport开发了一个受oauth2身份验证保护的restful nodeJS API.
var express = require('express');
var passport = require('passport');
var port = process.env.PORT || 8080;
var app = express();
app.use(passport.initialize());
// Create our Express router
var router = express.Router();
var creatureController = require('./controllers/creature');
router.route('/creature').get(passport.authenticate('accessToken', {session: false}), creatureController.getProfile);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,路由受到保护,并且需要发送有效令牌才能访问路由.
我想找到一种方法来手动验证我的"用户",方法是调用一个函数,该函数获取我要验证的用户的用户名和密码.
我用nodeJS开发了一个restful API.
exports.postCreature = function (req, res) {
var creature = new Creature({
name: req.body.name, id_user: req.user._id
});
creature.save(function (err) {
if (err)
res.status(400).send(Error.setError('impossible to save the your creature', err));
else
res.status(201).send();
});
};
//CODE DUPLICATE
exports.createCreature = function(user, callback) {
console.log('Creature created');
var creature = new Creature({
name: user.username, id_user: user._id
});
creature.save(function (err) {
if (err)
callback(err, null);
else
callback(null, creature);
});
}
Run Code Online (Sandbox Code Playgroud)
这两个函数执行相同的代码但不具有相同的参数.我想避免在我的代码中重复.
怎么做才能避免重复我的代码?
我想用Cairo库加载一个SVG文件,对它应用一些转换.然后我想用glTexture显示我的svg.
但我只是找到创建svg文件但不加载svg的函数.